Автоматическая перезагрузка роутера D-Link DIR-300

DIR-300_B7_router

Потребовалось перезагружать роутер D-Link DIR-300 каждое утро в 8:00 автоматически. Раньше это делали в ручную, однако мне пришла идея автоматизировать этот процесс. Я полагаю что данная статья подойдет не только для роутера данной модели, однако возможно придется скорректировать скрипт под особенности других моделей.

С этой задачей я решил разобраться с помощью знакомой мне утилиты Expect. Она уже ни раз меня выручала в случаях необходимости автоматизировать какие либо задачи на устройствах управляемых telnet или tftp.

Для начала установим expetc:

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

При написания данного небольшого скрипта возникла сложность с тем, что когда его запускаешь в ручную, то всё срабатывает без проблем, а если же через крон, то скрпт подвисал на запросе пароля. Данная проблема решилась добавления слипов (ожидания) в течении 5 секунд (sleep 5).

Далее добавляем запуск скрипта в крон «crontab -e».

Для отладки отправляю поток вывода в файл /root/log.log

Вот и всё, на утро проверяем перезагрузился роутер или нет.

Замечу что утилита Expect существует так же и для Windows, поэтому не составит никакого труда реализовать тоже самое под виндой.

1 звезда2 звезды3 звезды4 звезды5 звезд (5 голосов, среднее: 5,00 из 5)
Загрузка...

Categories: Скрипты

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *