Посты с тегом bash
Clq 17.03.2011 17:16

СкриптыАвтоматическое управление скоростью Transmission

Автоматическая установка и снятие ограничения скорости для Transmission в зависимости от наличия/отсутствия активности пользователя.
Торренты часто забивают весь канал, и пользоваться браузером при этом невозможно. Решение: установить для торрент-клиента ограничитель скорости в 60-70% от ширины канала. Но, когда я отхожу от компа на более-менее длительное время, хочется, чтобы торренты шпарили на полную. Для того, чтобы не переключать этот «черепаший» режим каждый раз вручную, и был написан этот скрипт. Основной компонент: xprintidle — просто выводит время бездействия юзера за компьютере.

Зависимости: xprintidle, libnotify-bin, transmission-cli

Предварительно также нужно в графическом клиенте настроить параметры ограничения скорости и включить веб-интерфейс.
Полностью.
+ 13 -
17
segoon 17.03.2011 14:16

СкриптыОтслеживание пакетов на distrowatch

Есть такой ресурс, http://distrowatch.com/. У него есть страничка с отслеживанием некоторых популярных пакетов, http://distrowatch.com/packages.php. У этой странички есть rss, но почему-то в нём видны только 11 последних обновлений пакетов. Мне нужно иметь более длинный список, поэтому я написал группу скриптов, которые регулярно грабят rss и сохраняют в локальный файл.

~/bin/distrowatch-packages-update:
Полностью.
+ 2 -
8
segoon 17.03.2011 13:24

СкриптыПросмотр MSDN через less

Мини-скрипт, который качает с сайта msdn.microsoft.com документацию по конкретной функции и показывает через less. На его примере видно, как можно использовать xargs/grep/awk для обработки произвольной информации, хотя может быть скрипт пригодится кому-то в чистом виде.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash

wget -q -U 'Firefox' -O - "www.google.com/search?q=msdn+$1" |\
         xargs -d'"' -L1 |\
         grep msdn\.microsoft  | \
         head -n 1 | xargs wget -q -O - | \
         awk '
 /h1/ { if (H != 1) print "<html> <meta charset=\"UTF-8\">"; H=1 }
 /Send comments about this topic to Microsoft/ { exit; }
      { if (H==1) print;} ' | \
         lynx -dump -stdin | \
         less
Полностью.
+ 4 -
3
16.03.2011 19:37

immortaldayУдалённое отключение сервера под управлением ОС QNX

Недавно встал вопрос о том как потушить сервер на QNX из под Solaris, может кому пригодится, поэтому я просто оставлю это здесь.



Для удалённого отключения сервера под управлением ОС QNX необходимо настроить доверительное отношение по протоколу SSH данного сервера к серверу под управлением ОС Solaris. Доверительные отношения позволят удаленно запускать на сервере под управлением ОС QNX выполнение команд с сервера под управлением ОС Solaris под служебной учетной записью без ввода пароля.

В рамках данного решения на сервере QNX должен быть установлен OpenSSH, реализация проходила под управлением ОС QNX 6.4.1 ( но с другими версиями последовательность такая же)

На сервере под управлениeм ОС QNX необходимо выполнить следующее:
1) Создать учётную запись пользователя (например, powermanager) , от имени которого будет происходить отключение сервера.
2) Настроить SSH:

Выполнить скрипт:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
KEYGEN=/usr/bin/ssh-keygen
RSA1_KEY=/etc/ssh/ssh_host_key
DSA_KEY=/etc/ssh/ssh_host_dsa_key
RSA_KEY=/etc/ssh/ssh_host_rsa_key

if < ! -s $RSA1_KEY >; then
        $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N ''
        chmod 600 $RSA1_KEY
        chmod 644 $RSA1_KEY.pub
fi

if < ! -s $RSA_KEY >; then
        $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N ''
        chmod 600 $RSA_KEY
        chmod 644 $RSA_KEY.pub
fi

if < ! -s $DSA_KEY >; then
        $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N ''
        chmod 600 $DSA_KEY
        chmod 644 $DSA_KEY.pub
fi

chmod 755 /var/chroot/sshd/


Для автоматического запуска sshd при загрузке системы добавить в /etc/rc.d/rc.local:

#!/bin/sh
/usr/sbin/sshd &


В /etc/ssh/sshd_config раскомментировать строки:


#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys


3) Установить suid бит на /bin/shutdown

От имени пользователя root выполнить:

# chmod u+s /bin/shutdown


На сервере под управлением Solaris необходимо выполнить следующее:

1) Создать служебную учётную запись пользователя (например, powermanager) , от имени которого будет происходить запуск команд.
2) Зарегистрироваться под учетной записью служебного пользователя. И перейти в его домашнюю директорию (например, /export/home/powermanager /).
3) В домашней директории пользователя создать, если не существует, директорию .ssh:

# mkdir /export/home/powermanager/.ssh

4) Cгенерировать пару ключей секретный/открытый с помощью утилиты ssh-keygen, выполнив следующую команду:

# /usr/bin/ssh-keygen -t rsa -b 2048 -f $HOME/.ssh/id_rsa

Примечание – В ответ на приглашение «ввести секретный пароль», вводить пароль не требуется, необходимо нажать «Enter», оставив значение пароля пустым. В случае если секретный пароль будет введен, каждый раз при удаленном подключении по протоколу SSH под учетной записью служебного пользователя помимо пароля ОС, будет дополнительно проверяться секретный пароль.
После выполнения команды в директории $HOME/.ssh/id_rsa появится два файла, id_rsa – секретный ключ, id_rsa.pub – открытый ключ.
5) С сервера под управлением ОС Solaris добавить полученный сгенерированный открытый ключ, в перечень доверенных на сервере под управлением ОС QNX. Для этого необходимо добавить его в файл /home/powermanager/.ssh/authorized_keys пользователя powermanager, выполнив команду:

# cat ~/.ssh/id_dsa.pub | ssh powermanager@qnxhost 'umask 0022 && mkdir -p ~/.ssh && cat - >> ~/.ssh/authorized_keys'


Ввести значение «yes» в случае появления сообщения следующего вида:
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
DSA key fingerprint is 1a:4b:e0:6f:83:4e:82:c3:9b:83:63:33:c0:f2:29:ce.
Are you sure you want to continue connecting (yes/no)?

В ответ на приглашение ввести пароль ввести пароль учетной записи.

6) Создать в домашнем каталоге пользователя (/export/home/powermanager/) скрипт с именем shutdown-kas.sh следующего содержания:


1
2
#!/bin/sh
ssh -qn  powermanager@qnxhost shutdown -b &gt; /dev/null 2&gt;&1



7) Сделать созданный скрипт исполняемым, выполнив следующую команду:

# chmod +x /export/home/powermanager/shutdown-kas.sh

Полностью.
+ 3 -
12
immortalday 14.03.2011 16:40

СкриптыПроверка срока жизни пароля в AIX

Написал вот такой вот скрипт проверки срока действия пароля в AIX с отправкой предупреждения админу. Скрипт проверяет срок действия пароля для всех пользователей у которых он есть.
Полностью.
+ 3 -
4
Deniz 10.02.2011 00:40

Есть вопрос!скрипт для .url файлов

Хочу вот открывать .url файлы (которые из под windows) в Убунте.
Внутри они выглядят как-то так:
1
2
<internetshortcut>
URL=http://pixeldigest.ru/reviews/3d-pixel-art/</internetshortcut>

Но, не нашёл я ничего готового в гугле. Всё что смог придумать, это вот:
1
2
3
#!/bin/bash
grep -m 1 -o -P 'http://(\w+|\W+|\d+)+' %U | while read i; do gnome-open "$i";
done

Как мне казалось в переменную %U должен подставляться путь до файла, но:
1
grep: %U: Нет такого файла или каталога

Если же запустить непосредственно в терминале:
1
2
3
#!/bin/bash
grep -m 1 -o -P 'http://(\w+|\W+|\d+)+' 'путь_к_файлу.url' | while read i; do gnome-open "$i";
done
То ссыль открывается ... и ещё открывается окно Наутилуса. Наверно потому-что grep выдаёт ещё пустую строку.

Подкиньте умных решений пжалста :)
Полностью.
+ 0 -
19
derfenix 05.02.2011 22:47

СкриптыХранение конфигов (и не только) в git - автоматизация

Не знаю, насколько оправдано то, что я написал и есть ли смысл в том, чтобы хранить конфиги в git, но вот захотелось мне сделать... :) Правда сам этим скриптом уже почти не пользуюсь (поигрался и надоело =) ), но может кому-то он пригодится... :)
В общем, суть скрипта (на bash) в том, чтобы коммитить, пушить и добавлять конфиги (да и в принципе и любые другие файлы), разбросанные по фс в разных местах, без необходимости собирать их в одном месте или в ручную делать симлинки.
Полностью.
+ 11 -
7
xm 14.01.2011 22:56

Новичкуhead tail watch... и др.

Команда head по умолчанию выводит первые 10 строк файла. Ключ -n позволяет задать количество строк
Полностью.
+ 9 -
4
emostar 17.12.2010 19:12

Я рекомендуюЯдро 2.6.36 с новым патчем

Один человек с ником Mahdi создал deb-пакет ядра с новым ускоряющим 200-строчным патчем о котором все так говорят.
Пока что его сборка рассчитана только для Ubuntu 10.10 32 bit, скачать можно по ссылке:
linux-headers-2.6.36
linux-image-2.6.36
Полностью.
+ 5 -
19
blackraven 16.12.2010 11:32

Переводы30 полезных команд в Linux

Оригинал
Эта коллекция содержит те команды, которые я выучил за годы работы в Linux. Разумеется, автор не я. Просто я находил их на различных ресурсах, изменял их, часть составлял сам, читая книги и страницы man.

Отмазка: пробуйте все эти команды на не-production серверах, некоторые из них могут что-то сломать.
Полностью.
+ 17 -
43
1 2 3 4 5 6 7 8 16 17