<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>eddy_em</title>
  <link>https://eddy-em.dreamwidth.org/</link>
  <description>eddy_em - Dreamwidth Studios</description>
  <lastBuildDate>Thu, 23 Mar 2023 07:01:40 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>eddy_em</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <image>
    <url>https://v2.dreamwidth.org/17579374/2798292</url>
    <title>eddy_em</title>
    <link>https://eddy-em.dreamwidth.org/</link>
    <width>100</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>https://eddy-em.dreamwidth.org/359388.html</guid>
  <pubDate>Thu, 23 Mar 2023 07:01:40 GMT</pubDate>
  <title>Скрипт для пингования подсети</title>
  <link>https://eddy-em.dreamwidth.org/359388.html</link>
  <description>Вчера хотел поснимать с ИК-датчиков картинки (облачности не было, но местами была на небе дымка), однако, забыл IP-адрес одноплатника! Вот, утром накидал такой скрипт, чтобы всю нашу подсетку проверить:&lt;br /&gt;&lt;code lang=&quot;bash&quot;&gt;&lt;pre style=&quot;border-left: 4px solid; border-top: 1px dashed; border-bottom: 1px dashed; max-height: 300px; overflow: auto; padding: 5px&quot; title=&quot;Code block&quot;&gt;
#!/bin/bash

trap &quot;echo Exited!; exit;&quot; SIGINT SIGTERM

if [ $# -ne 1 ]; then
	echo &quot;Usage: $0 IP_base (like $0 192.168.70) - ping all IP in 192.168.70.1 .. 192.168.70.254&quot; &amp;gt;&amp;1
	exit 1
fi

for x in $(seq 1 254); do
	IP=&quot;$1.$x&quot;
	HOST=$(host $IP)
	if [ $? -eq 0 ]; then
		HOST=$(echo $HOST| awk &apos;{print $5}&apos;)
	else
		HOST=&quot;-&quot;
	fi
	ping -c 1 -W1 $IP &amp;gt;/dev/null 2&amp;gt;/dev/null &amp;&amp; echo &quot;$IP, $HOST&quot;
done
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Советую обратить внимание на строчку &lt;tt&gt;trap ...&lt;/tt&gt;: она позвляет отслеживать прерывание цикла по Ctrl+C и завершать при этом весь скрипт, а не только текущую команду в цикле.&lt;br /&gt;Когда-то я писал нечто подобное (но уже с другой целью: пинговать выключенные компьютеры), чтобы динамически менять (где-то раз в полчаса) IP-адрес компьютера (заодно можно еще и по данным arp составить табличку и MAC менять тоже на целевой). А в гостинице в Ереване был у меня скриптик, который к wifi переподключался в случае снижения скорости (там за трафик рубили, а я торренты качал ☺) с новым MAC-адресом.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=eddy_em&amp;ditemid=359388&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://eddy-em.dreamwidth.org/359388.html</comments>
  <category>bash</category>
  <category>всячина</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://eddy-em.dreamwidth.org/336872.html</guid>
  <pubDate>Wed, 29 Jun 2022 08:49:52 GMT</pubDate>
  <title>Простой скрипт для массового создания пользователей</title>
  <link>https://eddy-em.dreamwidth.org/336872.html</link>
  <description>Понадобилось мне завести студентов на нашем сервере, ну, как говорится, &quot;лучше день потерять, зато потом за полчаса долететь&quot;. Написал скриптик:&lt;br /&gt;&lt;code lang=&quot;bash&quot;&gt;&lt;pre style=&quot;border-left: 4px solid; border-top: 1px dashed; border-bottom: 1px dashed; max-height: 300px; overflow: auto; padding: 5px&quot; title=&quot;Code block&quot;&gt;
&amp;#35;!/bin/bash

if [ $&amp;#35; -ne 1 ]; then
    echo -e &quot;Usage: $0 file\n\tEvery line of file is login password Name1 Name2 ...\n\tUsers will be created in /Students/login&quot;
    exit 1
fi

while read log pass nm; do
    echo &quot;log=${log}, pass=${pass}, nm=${nm}&quot;
    useradd -b /Students -g students -m -N ${log} -c &quot;${nm}&quot; --badname
    echo &quot;${log}:${pass}&quot; | chpasswd 
done &amp;lt; $1
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ну и скрипт, чтобы всю толпу разом удалить:&lt;br /&gt;&lt;code lang=&quot;bash&quot;&gt;&lt;pre style=&quot;border-left: 4px solid; border-top: 1px dashed; border-bottom: 1px dashed; max-height: 300px; overflow: auto; padding: 5px&quot; title=&quot;Code block&quot;&gt;
&amp;#35;!/bin/bash

if [ $&amp;#35; -ne 1 ]; then
    echo -e &quot;Usage: $0 file\n\tEvery line of file is login password Name1 Name2 ...\n\tUsers will be DELETED&quot;
    exit 1
fi

while read log pass nm; do
    echo &quot;Delete ${log}&quot;
    userdel -r -f ${log}
done &amp;lt; $1
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Файл должен содержать минимум 2 столбца: логин и пароль. Дальше можно еще ФИО в транскрипции запихнуть или еще что — всë остальное пойдет в поле &quot;comment&quot;.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=eddy_em&amp;ditemid=336872&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://eddy-em.dreamwidth.org/336872.html</comments>
  <category>bash</category>
  <category>всячина</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://eddy-em.dreamwidth.org/264050.html</guid>
  <pubDate>Tue, 25 Aug 2020 22:28:39 GMT</pubDate>
  <title>Велосипедостроение</title>
  <link>https://eddy-em.dreamwidth.org/264050.html</link>
  <description>Вчера наблюдал на полуметровом телескопе. Теоретически, в случае плохой погоды купол сам должен закрыться, но погода вполне. И, чтобы не ждать до утра, поставил себе бесконечный ряд экспозиций и лег спать, включив будильник на полпятого утра. Просыпаюсь, а почти сотня кадров - мимо! Монтировка самостоятельно не делает перекладку после пересечения меридиана. &lt;br /&gt;Сегодня не хочется такое повторить. ОК, наши руки не для скуки. Пишем баш-скрипт&lt;br /&gt;&lt;span class=&quot;cut-wrapper&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b class=&quot;cut-open&quot;&gt;(&amp;nbsp;&lt;/b&gt;&lt;b class=&quot;cut-text&quot;&gt;&lt;a href=&quot;https://eddy-em.dreamwidth.org/264050.html#cutid1&quot;&gt;Больше рукожопия!&lt;/a&gt;&lt;/b&gt;&lt;b class=&quot;cut-close&quot;&gt;&amp;nbsp;)&lt;/b&gt;&lt;/span&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=eddy_em&amp;ditemid=264050&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://eddy-em.dreamwidth.org/264050.html</comments>
  <category>рукожопие</category>
  <category>bash</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>
