Поэтому я подумал, как я могу решить эту проблему с помощью технологии. Это то, что делают выродки, не так ли?
Да, я знаю, я мог бы назвать Verizon и обновить маршрутизатор, я уверен, что теперь у них лучшая модель. И, конечно же, вы можете обновить прошивку, но это не сработает для моего старого маршрутизатора, так как нет обновления. Время для более легкого решения, которое в идеале включает работу cron. Работы Cron всегда являются хорошим решением.
После трех минут исследований и мозгового штурма было представлено решение: вы можете включить telnet на маршрутизаторе, настроить сценарий, который автоматически запускает ряд команд с использованием интерфейса telnet, а затем планировать этот сценарий с заданием cron для запуска на регулярной основа. Для меня это означало каждое утро в 7 утра, за час до того, как я проснусь, и снова в 17:30, так как я всегда выхожу из дома в этот момент. Проблема решена, и я могу использовать Vim, что также делает меня счастливым.
И, конечно же, вы можете заставить сценарий запускаться по требованию, чтобы немедленно перезагрузить маршрутизатор, когда захотите.
Замечания:вы, вероятно, можете сделать то же самое с маршрутизатором, который не Verizon. Вам нужно будет проверить панель управления маршрутизатором и посмотреть, как там работают параметры.
Подключение к маршрутизатору через Telnet
Первое, что вам нужно сделать, это выяснить, как включить telnet на маршрутизаторе. Для маршрутизатора Verizon требуется переходить в Advanced -> Local Administration и убедиться, что «Использование Primary Telnet Port» включен. Не забудьте нажать «Применить».
telnet 192.168.1.1
После того, как вы там, вы обычно можете ввести команду help, чтобы узнать, что это за опции. Для Verizon FIOS опция, которую я искал, была в системном подразделе и была точно названа «reboot». На самом деле вы должны набирать «перезагрузку системы», а не только «перезагружать».
После ввода команды в приглашении вы будете отключены, и маршрутизатор будет перезагружен. Легко, да. Но кто хочет делать все, что набирает каждый раз?
Скриптинг Telnet через терминал (OS X или Linux или Cygwin в Windows)
Мы предположим, что у вас есть доступ к оболочке bash, независимо от того, находится ли она в вашей обычной ОС, или если ваша ОС (Windows) не имеет bash, возможно, вам придется установить Cygwin.
На удивление легко написать сценарий набора команд и подключить их к приложению telnet. Все, что вам нужно сделать, это что-то вроде этого:
(echo commandname;echo anothercommand) | telnet 192.168.1.1
Единственная проблема - это ворчание входа, с которым вам нужно пройти … он не появляется сразу. Поэтому, если вы подключаетесь к «echo admin», а затем «echo password», это произойдет слишком быстро и не будет отправлено на сервер. Решение? Используйте команду спящего режима!
Добавление в пару команд сна 3, чтобы подождать три секунды, решает проблему. Сначала мы повторим имя пользователя и пароль, а затем повторим команду перезагрузки, и каждый раз мы будем ждать три секунды. Последняя команда немедленно перезагрузит сервер:
(sleep 3;echo admin;sleep 3;echo mypassword;sleep 3;echo system reboot;sleep 3;) | telnet 192.168.1.1
Вы можете поместить это в сценарий оболочки и запускать его, когда захотите. Или вы можете добавить его в свой cron, как это (на OS X или Linux):
crontab -e
Добавьте эту строку где-нибудь:
1 7 * * * (sleep 3;echo admin;sleep 3;echo mypassword;sleep 3;echo system reboot;sleep 3;) | telnet 192.168.1.1
Это будет перезагружать ваш маршрутизатор в 7:01 утра каждое утро.
Перезагрузка маршрутизатора по пути Windows
Если вы работаете с Windows, гораздо сложнее запланировать это автоматически, но мы можем с уверенностью его сценарием. Сначала вам нужно будет войти в панель управления, перейти к панели «Включить или отключить Windows» (просто найти ее), а затем включить Telnet Client.
Option explicit Dim oShell set oShell= Wscript.CreateObject('WScript.Shell') oShell.Run 'telnet' WScript.Sleep 3000 oShell.Sendkeys 'open 192.168.1.1~' WScript.Sleep 3000 oShell.Sendkeys 'admin~' WScript.Sleep 3000 oShell.Sendkeys 'mypassword~' WScript.Sleep 3000 oShell.Sendkeys 'system reboot~' WScript.Sleep 3000 oShell.Sendkeys '~' Wscript.Quit
Сохраните его как расширение.vbs, а затем вы можете дважды щелкнуть его, когда вы хотите перезагрузить маршрутизатор.
Планирование в Windows с запланированной задачей
Откройте Task Scheduler и создайте новую базовую задачу, указав ей имя и расписание - ежедневно в определенное время будет работать. Затем используйте параметр «Начать программу» и найдите файл сценария, который вы создали.
Замечания:инструкции в этой статье относятся к Verizon FIOS, но вы, вероятно, можете сделать это с любым маршрутизатором. Пожалуйста, дайте нам знать в комментариях, если вы попросите его работать с другим маршрутизатором, и мы обновим статью, чтобы ее отразить.