Можно заморочиться и добавить поддержку перезагрузки роутера в модуль Xiaomi miIO. Но для этого нужно выяснить токен роутер, а также отснифить трафик между роутером и Михом и выдрать от туда нужную команду.yurat2008 писал(а):Да родная прошивка, через ихнее приложение можно ребутнуть,но геморно. Переодически приложение просит логин и пароль от учетки, причем как то бессистемно это происходит
Перезагрузка рутера через telnet
Модератор: immortal
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Перезагрузка рутера через telnet
- Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
-
- Сообщения: 141
- Зарегистрирован: Сб мар 11, 2017 7:03 pm
- Благодарил (а): 50 раз
- Поблагодарили: 15 раз
Re: Перезагрузка рутера через telnet
Для Кинетик Гига файл будет чуть другой:Varrcan писал(а): ↑Пн окт 17, 2016 7:12 pmя у себя сделал так:EvgenyG писал(а):Подскажите, можно ли подключиться к рутеру Zyxel Keenetic II в локальной сети через telnet средствами MajorDoMo?
Хочу запускать команду на перезагрузку при отсутствие ping
https://zyxel.ru/kb/2916/
1 В корне создал файл /var/www/restart_router.shзначения смените на свои.Код: Выделить всё
#!/bin/bash ( sleep 5 echo "admin" sleep 1 echo "password" sleep 1 echo "system reboot" sleep 1 echo "exit" ) | telnet 192.168.0.1
2 В МД создал сценарий, в котором прописал дергалку этого файлика. Можно сделать примерно так:Код: Выделить всё
say('Подключение к интернету отсутствует более трех минут. Попробую перезагрузить роутер...'); exec('/var/www/restart_router.sh');
3 Состояние интернета проверяю пингом к яндексу (Устройства Online):
Действие при переходе в Offline:Действие при переходе в Online: (Это если вдруг интернет восстановился за 3 минуты)Код: Выделить всё
SetTimeOut("restartRouter","runScript('restartRouter');", 180);
Код: Выделить всё
ClearTimeOut("restartRouter");
Код: Выделить всё
#!/bin/bash
(
sleep 5
echo "admin"
sleep 1
echo "password"
sleep 1
echo "sys reboot"
sleep 1
echo "exit"
) | telnet 192.168.0.1
- За это сообщение автора olegvolk75 поблагодарил:
- C_3AXAPOB (Пт май 03, 2019 1:43 am)
- Рейтинг: 1.16%
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
-
- Сообщения: 28
- Зарегистрирован: Пт мар 30, 2018 11:03 am
- Благодарил (а): 0
- Поблагодарили: 3 раза
Re: Перезагрузка рутера через telnet
Добрый день! А зачем усложнять, роутер zyxel сам может pinc сайтов и при отсутствии инета перегружать интерфейсы, для этого перегружать роутер не нужно. Все подробно описано с настройками на сайте zyxel.
Отправлено с моего iPhone используя Tapatalk
Отправлено с моего iPhone используя Tapatalk
-
- Сообщения: 141
- Зарегистрирован: Сб мар 11, 2017 7:03 pm
- Благодарил (а): 50 раз
- Поблагодарили: 15 раз
Re: Перезагрузка рутера через telnet
Это скорее всего на прошивке NDMS v2, у меня пока V1. Надо попробовать вторую версию поставить. Хотя уже думаю новый покупать .
Писал скорее для себя, чтоб потом опять велосипед не изобретать. Уже один раз сделал, потом при очередном обновлении файл слетел, пришлось снова форумы рыть...
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
-
- Сообщения: 78
- Зарегистрирован: Вс дек 25, 2016 1:46 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: Перезагрузка рутера через telnet
Подскажите, вроде всё сделал ,как в статье. Из командной строки в Armbian ,всё работает, скрипт запускается и всё работает.А вот в мажордомо , в консоле пешу
exec('/var/www/restart_router.sh') и не чего не происходит!
Пробовал safe_exec , shell safe_exec ,всё без результатно.
exec('/var/www/restart_router.sh') и не чего не происходит!
Пробовал safe_exec , shell safe_exec ,всё без результатно.
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: Перезагрузка рутера через telnet
exec запускается от пользователя на котором работает web сервер. Обычно это (apache или www-data). Нужно изменить собственника скрипта на того, от которого запущен web сервер. Тогда должно всё работать.Shmit писал(а): ↑Вт авг 31, 2021 7:44 amПодскажите, вроде всё сделал ,как в статье. Из командной строки в Armbian ,всё работает, скрипт запускается и всё работает.А вот в мажордомо , в консоле пешу
exec('/var/www/restart_router.sh') и не чего не происходит!
Пробовал safe_exec , shell safe_exec ,всё без результатно.
Узнать от кого работает сервер:
Код: Выделить всё
ps aux | grep 'apache\|httpd\|nginx\|php-fpm'
Код: Выделить всё
chown user: /var/www/restart_router.sh
Так же скрипт должен быть запускаемый. Чтобы это сделать, нужно выполнить команду:
Код: Выделить всё
chmod +x /var/www/restart_router.sh
- За это сообщение автора savenko_egor поблагодарили (всего 2):
- SmoKE_xDDD (Вт авг 31, 2021 10:30 am) • Shmit (Вт авг 31, 2021 5:42 pm)
- Рейтинг: 2.33%
-
- Сообщения: 78
- Зарегистрирован: Вс дек 25, 2016 1:46 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: Перезагрузка рутера через telnet
Спасибо.Всё получилось.savenko_egor писал(а): ↑Вт авг 31, 2021 10:29 amexec запускается от пользователя на котором работает web сервер. Обычно это (apache или www-data). Нужно изменить собственника скрипта на того, от которого запущен web сервер. Тогда должно всё работать.Shmit писал(а): ↑Вт авг 31, 2021 7:44 amПодскажите, вроде всё сделал ,как в статье. Из командной строки в Armbian ,всё работает, скрипт запускается и всё работает.А вот в мажордомо , в консоле пешу
exec('/var/www/restart_router.sh') и не чего не происходит!
Пробовал safe_exec , shell safe_exec ,всё без результатно.
Узнать от кого работает сервер:Изменить собственника для файла:Код: Выделить всё
ps aux | grep 'apache\|httpd\|nginx\|php-fpm'
Где "user" - это пользователь найденный из команды выше.Код: Выделить всё
chown user: /var/www/restart_router.sh
Так же скрипт должен быть запускаемый. Чтобы это сделать, нужно выполнить команду:Код: Выделить всё
chmod +x /var/www/restart_router.sh