Приведу пример скрипта передачи файлов по SFTP в Windows.
Читать далее «Скрипт передачи файлов по SFTP в Windows»Архивы рубрик:Скрипты
Скрипт просмотра PPS (Packets Per Second)
Скрипт ежесекундно отображает количество входящих и исходящих пакетов в секунду на указанном сетевом интерфейсе.
Содержимое скрипта поместим в файл, например pps.sh и выполним указав имя сетевого интерфейса (остановить выполнение скрипта можно клавишами CTRL+C):
Скрипт отправки СМС через Goip4 шлюз для ABillS
Приведу пример PHP скрипта, которым я рассылаю СМС сообщения через GoIP4 шлюз.
Сначала выберем тарифы только с месячным начислением:
SELECT name, tp_id FROM tarif_plans;
SELECT name, tp_id FROM tarif_plans WHERE month_fee>0;
Собственно вот сам скрипт, я запускаю его из cron на отдельном сервере (где я установил GoIP4 СМС сервер):
Читать далее «Скрипт отправки СМС через Goip4 шлюз для ABillS»Скрипты ip-up и ip-down с ipset для Accel-ppp
Приведу пример скриптов которые я раньше использовал, в список allowip добавлялись IP адреса которым разрешен интернет, а в denyip которые переадресовывались на http страницу с информацией о негативном депозите.
Читать далее «Скрипты ip-up и ip-down с ipset для Accel-ppp»Скрипт добавления IP адресов из файла в ipset
Понадобилось однажды написать скрипт чтобы добавить в ipset все IP для которых били подняты сессии на сервере доступа, использовался биллинг Abills, поэтому я решил взять IP адреса из MySQL таблицы биллинга.
Первым делом создадим тестовый ipset:
ipset create test iphash
Читать далее «Скрипт добавления IP адресов из файла в ipset»
Скрипт перезагрузки маршрутизаторов Asus
На старых прошивках маршрутизаторов Asus часто замечал, что не полностью открывается веб-интерфейс, отображается не все меню, соответственно настроить его невозможно и при удаленном доступе перезагрузить тоже нельзя, так как не отображается кнопка перезагрузки.
Поэтому взял маршрутизатор Asus RT-N12E, запустил сниффер Wireshark, открыл веб-интерфейс маршрутизатора и нажал кнопку перезагрузки.
В перехваченных пакетах было видно что для перезагрузки выполняется файл Reboot.asp в корневой директории.
Отсюда получился такой скрипт для перезагрузки маршрутизаторов Asus:
#!/bin/sh ROUTER_IP="192.168.1.1" USERNAME="admin" PASSWORD="admin" # exit if router is down ping -q -c 1 "$ROUTER_IP" > /dev/null || exit curl --basic --user "$USERNAME:$PASSWORD" -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" --refer "http://$ROUTER_IP" "$ROUTER_IP/Reboot.asp"
Содержимое скрипта поместим в новый файл, например используя редактор nano («CTRL+X» для выходя и «y» для сохранения изменений):
nano file.sh
Сделаем его исполняемым:
chmod 777 file.sh
После этого выполним:
./file.sh
Также можно в браузере вручную открыть ссылку http://192.168.1.1/Reboot.asp если необходимо один раз перезагрузить маршрутизатор.
Скрипт проверки на пустую директорию
Недавно заметил на одном из своих скриптов резервного копирования что он перестал работать и просто создавал пустую директорию с текущей датой, поэтому возникла идея добавить в него проверку на пустую директорию с отправкой уведомления на email.
Пример скрипта проверки на пустую директорию, с учетом скрытых файлов:
if [ `ls -a /backups/dir/ | grep -v "^\.$" | grep -v "^\..$" | wc -l` = "0" ]; then echo "Empty dir"; else echo "Non empty dir"; fi
Пример проверки директории с именем текущей даты и если она пуста — отправкой email:
if [ `ls -a /backups/`date +%Y-%m-%d`/ | grep -v "^\.$" | grep -v "^\..$" | wc -l` = "0" ]; then (echo "Subject:Empty dir"; echo "Empty dir";) | sendmail [email protected]; else echo "Non empty dir"; fi
Резервное копирование конфигурации TP-Link коммутаторов
Набросал скрипт для резервного копирования конфигурации TP-Link коммутаторов.
Скрипт выполняется на Linux где запущен TFTP сервер, он подключается по telnet к коммутатору и специальной командой конфигурация отправляется на указанный TFTP, по закрытию telnet соединения, файл перемещается в нужную директорию, а также последняя команда удаляет файлы которым больше 30 дней, так как больше их хранить мне не нужно.
Также можно ежемесячно делать например копию всех файлов в облако.
Как видно, перед вводом пароля в скрипте ставить паузу нельзя.
#!/bin/bash
{
echo "ПАРОЛЬ";
echo "enable";
echo "ПАРОЛЬ";
echo "copy startup-config tftp ip-address 192.168.0.5 filename tplink";
sleep 2;
echo "exit";
sleep 1;
echo "exit";
} | telnet 192.168.0.110
mv /srv/tftp/tplink.cfg /backups/devices/tplink/`date +%Y-%m-%d`_tplink.cfg
find /backups/devices/tplink/ -type f -mtime +30 -exec rm {} \;
PHP скрипт «ТОП должников АСРМ «Ника»»
Приведу пример PHP скрипта отображающего список должников из базы данных АСРМ «Ника»:
Читать далее «PHP скрипт «ТОП должников АСРМ «Ника»»»Скрипт конфигурации DHCP
Допустим в конфигурационный файл DHCP сервера нужно добавить много подсетей, например от 172.16.1.0 до 172.16.100.0, в этом случае поможет данный скрипт.
Читать далее «Скрипт конфигурации DHCP»