admin / 06.05.2018

Как создать игру в unity3d, автоматическая перезагрузка роутера

Автоматическая перезагрузка роутера ZyXEL Keenetic 4G II



Некоторые пользователи задаются вопросом: «Как настроить автоматическую перезагрузку роутера ZyXEL серии Keenetic, допустим для ежедневной перезагрузки в определенное время?» К сожалению, представители Zyxel не реализовали функцию перезагрузки устройства по расписанию, но после поиска нужного и работоспособного решения был найден способ для реализации данной задачи. Чтобы автоматизировать этот процесс необходимо использовать VBS-скрипт и известный многим планировщик задач Windows. Тестирование автоматической перезагрузки роутера проводилось на модели ZyXEL Keenetic 4G II.

В первую очередь рассмотрим скрипт, который осуществляет автоматическую перезагрузку. В принципе нас интересует только три основные строки, которые необходимо изменить под собственные настройки роутера. Содержание VBS-скрипта выглядит следующим образом:

set WshShell = WScript.CreateObject(«WScript.Shell»)

WshShell.run «telnet.exe»

WScript.Sleep 5000

WshShell.SendKeys»open 0.0.0.0» & chr(13) //укажите IP-адрес своего роутера ZyXEL Keenetic

WScript.Sleep 5000

WshShell.SendKeys»user» & chr(13) //укажите имя пользователя для авторизации, по умолчанию «admin»

WScript.Sleep 5000

WshShell.SendKeys»password» & chr(13) //укажите пароль пользователя для авторизации

WScript.Sleep 5000

WshShell.SendKeys»system reboot» & chr(13)

WScript.Sleep 3500

ProcessClose(«cmd.exe»)

ProcessClose(«telnet.exe»)

Function ProcessClose(sProcName)

strComputer = «.»

Set objWMIService = GetObject(«winmgmts:{impersonationLevel=impersonate}!\\» & strComputer & «\root\cimv2»)

Set colProcessList = objWMIService.ExecQuery(«Select * from Win32_Process Where Name = ‘» & sProcName & «‘»)

For Each objProcess in colProcessList

objProcess.Terminate()

Next

End Function

Производить изменения желательно с помощью текстового редактора Notepad++, но если нет возможности его скачать, тогда воспользуйтесь простым Блокнотом, который входит в состав операционной системы Windows.

После сохранения скрипта его необходимо разместить в любой директории на вашем компьютере, где будет исполняться программный код. Далее необходимо активировать клиентский сетевой протокол для реализации текстового интерфейса по сети, так называемый удаленный доступ по TELNET.

Для этого необходимо пройти по указанному пути: «Панель управления → Программы → Программы и компоненты → Включение или отключение компонентов Windows» и активировать «Клиент Telnet».

Теперь надо создать простую задачу в планировщике заданий (taskschd.msc), как это сделать указано в статье «Автоматическое включение и отключение компьютера». В итоге должна сформироваться новая задача с указанием времени автоматической перезагрузки роутера с указанием на выполнение исходного скрипта.

Конечный вариант созданной задачи показан на нижеуказанном изображении.

ВАЖНО: Обратите пристальное внимание на раскладку клавиатуры!!! Для корректного исполнения скрипта должна быть активна англоязычная раскладка клавиатуры. Помимо этого нужно понимать, что для исполнения задачи персональный компьютер должен быть включен и произведена авторизация пользователя, то есть, организован автоматический вход в систему.

ноябрь 2014

Если у вас есть роутер ASUS или другой с прошивкой от Олега, то эта записка для вас. Недавно у меня возникла трудность, которую никак не получалось решить. VPN-сессия зависала, при этом VPN-соединение оставалось подключено. Роутер не мог понять, что надо переподключится.  Приходилось каждый раз вручную делать перезагрузку роутера, согласитесь, это долгий и утомительный процесс. 

Я покопался в интернете, оказалось  я такой не один и проблема довольно масштабна среди “роутороводов”. Наши провайдеры не особо жалуют пользователей с роутерами, в большинстве случаев после ответа на вопрос “какая у вас операционная система” суппорт умолкает.

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

Hoteles en venta en Antananarivo

Тогда я подумал, мой роутер основан на Unix и поддерживает Bash-скрипты.  Я решил написать “умный” скрипт перезагрузки, в случае повисания VPN-сессии. После нескольких проб и ошибок я остановился на таком варианте.

Алгоритм работы данного скрипта такой:  Сначала мы посылаем 3 ping’a до Яндекса, если они проходят то выводим “internet ok”. Если нет, то посылаем ещё 3 ping’a до Гугла, если проходят, выводи “internet ok”. Если ping не дойдёт  и до Гугла, то перезагрузка.

Этот скрипт необходимо добавить в планировщик задач (в большинстве случаев это cron), чтобы он выполнялся каждые 5-10 минут.

Качественные cайты на скриптах.

 

Старые комментарии:

Игорь 31.10.2010 18:37
Интересно, а как засунуть этот скрипт в роутер? 😕
 
Илья 31.10.2010 19:12
У меня DIR-320 с прошивкой от Олега.
По сути это уже полнофункционал ьный линукс, 😉 есть доступ к командной строке по SSH.
Советую посетить этот форум. (Ахтунг, там есть проблема с кодировкой нужно поставить Кириллицу Windows-1254)
http://wl500g.info/forumdisplay.php?f=86
 
Игорь 01.11.2010 13:48
Спасибо, получается, что роутер D-Link превращается в ASUS 😮
 
Илья 01.11.2010 14:42
Ну.. Да :yehh2:
 
demeister 13.04.2011 04:26
скажите а на DD-WRT при прописании скрипта в cron он будет работать?
 
Илья 13.04.2011 15:15
Да должен, ибо тоже Linux :yehh2:
 
DarkShaman 21.05.2013 19:30
У меня на OpenWRT заработало так
#!/bin/sh
echo ————— ————— ————— —
echo WAN CONTROLL RESTART
echo ————— ————— ————— —
PINGRESORCE1=»109.126.0.67″
PINGRESORCE2=»109.126.1.67″
PINGRESORCE3=»google.com»
if (!

ping -q -c3 ${PINGRESORCE1} > /dev/null 2>&1)
then
if (! ping -q -c3 ${PINGRESORCE2} > /dev/null 2>&1)
then
if (! ping -q -c3 ${PINGRESORCE3} > /dev/null 2>&1)
then
reboot
else
echo ‘internet ok’
fi
else
echo ‘internet ok’
fi
else
echo ‘internet ok’
fi
 
Паша 11.04.2014 21:35
У меня на OpenWRT. Не могу запустить скрипт. Объясните подробно в какую папку на роутере нужно скопировать файл скрипта, как создать этот файл и что нужно прописать в планировщике?
На данный момент создал файл /overlay/home/ping/ping.sh
в котором прописал все что в сообщении от #7 DarkShaman
Не работает. Где ошибка? Роутер не перезагружается при отключении сетевого кабеля ни сразу ни через 5 минут.
DarkShaman, подскажи как ты все проделал?
 
Олег 07.09.2014 17:27
Доброго времени суток!

Скажите пожалуйста, а можно таким способом перезагружать другую точку, коротая подключена к моей мостом?

Ежедневно c 10:00ч до 20:00ч.

 

после установки telnet получилось, что мне было необходимо, хотя и не совсем то, что вообще хотелось бы сделать. Роутер TP-Link TL-ER604W
Хотелось бы просто передернуть IPSec Disable/Enable, чтобы туннель опять нормально поднялся, но туда доступ только через ВЕБ-морду
Telnet даже не куцый, а ооочень куцый.

второй вариант скрипта отрабатывает как надо

#!/bin/sh
Watched_IP="www.ya.ru"
Router_IP="192.168.1.1"
Username="user"
Password="password"

(if (! ping -q -c 2 $Watch_IP > /dev/null 2>&1) then
    echo Ping fail
    (
         sleep 10
         echo -e "$Username\r\n"
         sleep 3
         echo -e "$Password\r\n"
         sleep 3
         echo -e "enable\r\n"
         sleep 3
         echo -e "$Password\r\n"
         sleep 3
         echo -e "sys reboot\r\n"
         sleep 3
         echo -e "y\r\n"
         sleep 3
         echo -e "exit\r\n"
    ) | telnet $Router_IP
else
        echo Ping Ok
fi)

.

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*