Jump to content

Включение и отключение роутера по расписанию


Recommended Posts

Добрый день!

Помогите пожалуйста новичку.

Как правильно реализовать перезагрузку роутера по расписанию.

Прочитал родственную тему: "Включение и отключение Wi-Fi по расписанию"

Установил cron.

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

И еще вопрос:

можно ли как то реализовать следующую задачу:

если недоступен WIFI для мобильного клиента (т.е. подключение есть, а в инет не выходит. При этом кабельное соединение работает) - перегрузить роутер. ???

Keenetic Giga II

v2.06(AAFS.0)B4

Спасибо.

Link to comment
Share on other sites

Так время выполнения и restart (reboot) сча не помню че там, с консоли набрать можно... один минус, сбиваются часы, и может уйти в бесконечный рестарт, по крайней мере у меня так вышло - цикличный рестарт.. видимо неудачно время указал, хотя часы 100% не попадали бы на ребут, хотел его на раз в месяц так чистить, но забил потом и за цикличного ребута...

Link to comment
Share on other sites

Спасибо за ответ, но не понял, какое отношение приведенная инф. имеет к сути вопроса.

Считаем, что на роутере время правильное. Интернет работает. Lan работает. Мне необходимо перегрузить роутер (аналогия нажатие кнопки вкл./выкл. питания). в заданное время.

Как это сделать?

Интересует настройка cron для этого случая (для определенности считаем, что необходимо перегружать роутер в 4 ч. ночи каждый день). И интересует какая команда в кроне будет это выполнять.

Вот и все.

Так што, очень надеюсь на помощь.

2-й вопрос.

У меня постоянно (где-то 2 мес.) возникают проблемы с WIFI. т.е. lan работает, интернет работает, с мобильного телефона - подключаюсь, но инет через WIFI не работает. Решенеи - вкл. - выкл питание на роутере. После этого все нормально. Такая истрия раз в день, в два.

Поэтому - хочу решить с помощью перезагрузки роутера - см. вопрос №1.

А по максимуму хотелось бы понять, можно как то определить, что возникла проблема с WIFi и только в этом случае - перегружать роутер. Т.е. раз в час запускать проверку - и по ее результатам - перегружать или нет роутер. Это 2-й вопрос.

Спасибо, жду рекомендаций.

Link to comment
Share on other sites

СПС.

Не совсем то.

Хотелось бы узнать, как настроить cron для перезагрузки роутера (например ежедневно в 4 ч. ночи).

Уважаемый, ndm - вся надежда на Вас.

Спасибо.

Edited by Guest
Link to comment
Share on other sites

СПС.

Не совсем то.

Хотелось бы узнать, как настроить cron для перезагрузки роутера (например ежедневно в 4 ч. ночи).

Уважаемый, ndm - вся надежда на Вас.

Спасибо.

Ставишь ndmq, если не ставил, т.к. нужная штука

в кронтабе

00 04 * * * root ndmq -p 'system reboot' -P message

работает и

00 04 * * * root ndmq -p 'reboot 30' -P message

перезагрузка после 4 часов с задержкой на 30 сек если не указывать секунды, то сразу.

Вроде так.

Link to comment
Share on other sites

СПС.

А что по 2-му вопросу. Можно как то проанализировать доступность Интернет через интерфейс WIFI и при необходимости - перегрузить либо интерфейс, либо роутер целиком. ??

И еще, извините за глупый вопрос. После установки opkg. захожу по ssh как root, вижу следующее приглашение:

root@Keenetic_Giga:/opt/root#

а как попасть в режим конфигурирования (CLI): (config)>

и установил ndmq.

Пробую запустить: ndmq -p 'show dyndns' - ничего не выдает ???

!!!!

На один вопрос - нашел ответ:

если заходим по telnet - то попадаем в (CLI): (config)>

если заходим по ssh - то попадаем в root@Keenetic_Giga:/opt/root#

Это правильно?

Link to comment
Share on other sites

СПС.

А что по 2-му вопросу. Можно как то проанализировать доступность Интернет через интерфейс WIFI и при необходимости - перегрузить либо интерфейс, либо роутер целиком. ??

На сколько я понимаю логику работы устройства, то только извне, т.к. не уверен, что такое реально возможно изнутри. Т.к. сколько вот схожее попадалось, если маршрут с железки работает (не обязательно роутер аппаратный), то не всегда он может работать на клиенте по вине клиента, либо какой то аппаратный сбой. Вообще, странно, почему летит клиент на вафле. Может попробовать просто передергивать ванинтерфейс?

К примеру вырубаем его на 5 минут в 3 утра ежедневно и врубаем

00 03 * * * root ndmq -p 'interface WifiMaster0 down' -P message
05 03 * * * root ndmq -p 'interface WifiMaster0 up' -P message

Ну и как вариант - телефон получает все с DHCP, я так понимаю? Может проблема в DNS? Скажем с DHCP DNS сервера прова не дает корректно ДНС ресолвить. Т.е. для начала телефону указать ДНС известные, если такое возможно и глянуть. Ну и как вариант вариант проверки - если телефон не идет в интеренет, можно ли попасть с телефона на вебморду роутера? Если нет, то нужно копать и скорее уже в роутере.. Как решение аппаратный сброс и настройка. Не вышло 0 то привет прошивке... т.к. аппаратно гуляющая часть вафли вощможна, но маловероятно. И телефон не на IOS случаем? Да, еще питание роутера стабильное?

Link to comment
Share on other sites

СПС. Телефоны получают настройки по DHCP. Проблеиы и с IOS и с Android. Началось все это где-то месяца полтора назад. Это заставило меня перейти с оф. прошивки на текущую. Ситуация не улучшилась. т.е. по LAN все работает, а WIFI - соединение устанавливается, и дальше никуда.

Схема у меня несколько необычная:

1-м устройством стоит роутер Glitel, который по телефонному шнурку обеспечивает связь с провайдером. А Zyxel включен эзернетом в коммутатор 1-го роутера и используется как WIFI точка доступа, сервер DLNA и остальные примочки.

За ответ спасибо.

А правильно, что по telnet я попадаю в CLI, а по ssh - в /opt/root ???

Link to comment
Share on other sites

Все верно. А других вафельных клиентов нет?

Glitel какая модель, они же с вафлей есть... правильно ли сделано.

Просто может из за неправильно сделанной сети не работает по уму (в IP путаница). Т.к. немного не понятна пока комбинация, бридж роутер и даллее как стоят или чего там еще.

Так.. если я правильно понял.

АДСЛ роутер с 1 соской воткнут куда то в кинетик, а тот заведует всем остальным. Так вот в такой схеме адсл роутер лучше всего делать бриджем, а сессию поднимать с зухеля, т.е. принудительно задать айпи с разных сетей - ван соска зухеля и лан адсл роутера 1 сеть, а лан - другая. Кончено, можно и так, что все соски зухеля являются локальным лан.. но дхцп на 1-м роутере должно быть отключено 100% что бы не дурковало, не пересекалось..

Link to comment
Share on other sites

[off]"... мая твая ни панемать албанська..." что за вафли? из кондитерского отдела? что за соски? из отдела для мам и малышей? следующего раза может и не быть - ".. того, этого, в угол поставлю..."[/off]

Link to comment
Share on other sites

Добрый день!

Пытаюсь настроить cron и столкнулся со следующей проблемой - отсутствует файл: /opt/etc/crontab

Структура каталогов, которые имеют отношения к cron - на картинке.

есть файлик:

/opt/etc/crontabs/root следующего содержагия:

SHELL=/opt/bin/sh

MAILTO=

PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:/usr/bin:/usr/sbin:/bin:/sbin

# run-parts

*/1 * * * * run-parts /opt/etc/cron.minutely

04 * * * * run-parts /opt/etc/cron.hourly

06 4 * * * run-parts /opt/etc/cron.daily

22 4 * * 0 run-parts /opt/etc/cron.weekly

42 4 1 * * run-parts /opt/etc/cron.monthly

Собственно вопросы:

1. файл надо руками создавать? То что файл отсутствует - это нормально? Если файл надо создать руками, какие разрешения на него дать?

2. Как правильно перезапустить сервис. Команда service cron restart не работает. Запустил:

root@Keenetic_Giga:/opt/etc/init.d# ./S02crond restart

Никаких сообщений типа "ОК" не было. Это правильно?

Спасибо.

cron.png.7909c7c1f2b8086c18fb29c6444def4

Link to comment
Share on other sites

...Не знал, что тут форум домохозяек ;), совсем не знающих давно известные синонимы... Буду писать понятным языком :)

=============

На счет крона, стоит "из коробки" или был поставлен opkg install cron т.к. сам с такой по началу проблемой столкнулся. По умолчанию если - файл var/cron/crontabs/root (если нет то создать) файл еще будет запускаться командой crond. Я использую установленный с "opkg" крон. Файл, crontab который в etc лежит (появится после установки) работает сразу, главное его править локально на роутере и не забыть сделать установку прав

chmod 600 /opt/etc/crontab

а то обычно вылетает ошибка при запуске-перезапуске крона, затем

править в vi или через МС редактор (что удобнее, если лень писать путь) затем

/opt/etc/init.d/S10cron restart

и все. Ошибки удобно смотреть в логе на вебинтерфейсе. Если править с Windows, то затем лучше права на файл через SSH поправить и как обычно перезапустить.

Вообщем, вот второй вариант работы. При перезапуске крон пишет просто

~ # /opt/etc/init.d/S10cron restart
Shutting down cron...              done.
Starting cron...              done.
~ #

В твоем случае может и не писать. Но crond должен отработать.. ну и в логах смотреть.

Edited by Guest
Link to comment
Share on other sites

Для ssg

Еще вспомнил. DHCP может некорректно высвобождает пул адресов. Вроде тут уже сталкивались с такой проблемой, хотя он может некорректно цепляет устройства и не очищает аренду. Нужно смотреть, может просто не та подсеть дается и нечего не нужно ребутить. Можно привязать IP в DHCP на мак адреса твоих устройств, может поможет.

Link to comment
Share on other sites

Спасибо!

А можно еще для домохозяйки?

Я установил cron, используя команду:

opkg install cron.

opkg list других пакетов с названием cron, кроме этого не показал.

Это чистая установка?

Так вот, после установки этого пакета, файл /opt/etc/crontab - отсутствует !!!

И я задал вопрос для домохозяйки - ПОЧЕМУ?

Следующий вопрос:

ессли я кладу исполняемый скрипт в каталог (например) в /cron.minutely - то cron отрабатывает, создается файлик, в который каждую минуту записываетс результат выполнения команды data.

А когда я создал руками файл /opt/etc/crontab и в него вставил строку из скрипта - команда не отработала.

В логах (если смотреть web мордой) ни в первом ни во втором случае ничего не было.

Хотелось бы понять причину, почему файлик /opt/etc/crontab автоматом не создался и почему не отработал скрипт, если этот файл я создал вручную

Флешка для opkg отформатирована в ext3

Я слышал, что есть 2 вида cronа, может в этом дело?

у меня:

root@Keenetic_Giga:/opt/root# opkg info cron

Package: cron

Version: 2-keenopt

Depends: libc, busybox

Provides:

Status: install user installed

Section: utils

Architecture: all

Maintainer: NDMS Developers Team

MD5Sum: ad0ae6f6079ace1262929a76cf60453c

Size: 1525

Filename: cron_2-keenopt_all.ipk

Conffiles:

/opt/etc/crontabs/root ceaeb4d1020a24cf64bdf99e5585d4c2

Source: feeds/ndmfeed/cron

Description: Cron utils for use crond from busybox.

Installed-Time: 1467488241

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

Link to comment
Share on other sites

Так вот, после установки этого пакета, файл /opt/etc/crontab - отсутствует !!!

И я задал вопрос для домохозяйки - ПОЧЕМУ?

Нет в бизибоксовском cron этого файла! В нем есть директория /opt/etc/crontabs, куда помещаются правила для каждого пользователя в виде отдельных файлов с именами этих пользователей.

Я слышал, что есть 2 вида cronа, может в этом дело?

Совершенно верно, у бизибоксовского cron отсутствует в синтаксисе имя пользователя, т.к. оно учтено в названии файла настроек, которые упомянуты выше.

Вы мне в личку написали, что и как вы делаете, так вот, делаете вы все не правильно. Посмотрите как устроен файл /opt/etc/crontabs/root и все поймете..

Link to comment
Share on other sites

Проф. ответ.

Огромное спасибо!

Хочу только уточнить, правидьно ли я понял, что файл /opt/etc/crontab для моей версии cron-а вообще не нужен, и даже если я его создам, то он использоваться системой не будет?

И еще, если мне необходимо добавить команду в cron, я это должен сделать, редактируя файл

/opt/etc/crontabs/root, например следующим образом - добавил в конце строку ???

SHELL=/opt/bin/sh

MAILTO=

PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:/usr/bin:/usr/sbin:/bin:/sbin

# run-parts

*/1 * * * * run-parts /opt/etc/cron.minutely

04 * * * * run-parts /opt/etc/cron.hourly

06 4 * * * run-parts /opt/etc/cron.daily

22 4 * * 0 run-parts /opt/etc/cron.weekly

42 4 1 * * run-parts /opt/etc/cron.monthly

0-59 * * * * root date >> /opt/var/date.txt

Link to comment
Share on other sites

Еще раз, вам не нужно указывать имя пользователя в бизибоксовском cron!

Вот ваш пример

0-59 * * * * root date >> /opt/var/date.txt

а правильно надо

0-59 * * * * date >> /opt/var/date.txt

Хочу только уточнить, правидьно ли я понял, что файл /opt/etc/crontab для моей версии cron-а вообще не нужен, и даже если я его создам, то он использоваться системой не будет?

Не будет, это актуально для другой версии cron...

Link to comment
Share on other sites

  • 2 months later...

Здравствуйте. Помогите разобраться, что не правильно делаю.

Создаю правило

  GNU nano 2.7.1                       File: /opt/etc/crontab

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
*/1 * * * * root /opt/bin/run-parts /opt/etc/cron.1min
*/5 * * * * root /opt/bin/run-parts /opt/etc/cron.5mins
01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly
02 4 * * * root /opt/bin/run-parts /opt/etc/cron.daily
22 4 * * 0 root /opt/bin/run-parts /opt/etc/cron.weekly
42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly

#system reboot#
12 12 * * * root ndmq -p 'system reboot' -P message

командой 

nano /opt/etc/crontab

И роутер (Zyxel DSL- 2.05) уходит в циклическую перезагрузку. В журнале в это время нет ни каких записей.

Скрытый текст

Журнал

Jan 26 11:54:03ndmNetwork::Interface::PPP: adding nameserver 8.8.8.8.
Jan 26 11:54:03ndmDns::Manager: name server 8.8.8.8 added, domain (default).
Jan 26 11:54:04ndmNetwork::Interface::IP: "PPPoE0": IP address is 92.125.ХХ.ХХ
Jan 26 11:54:06ndmCore::Server: started Session 127.0.0.1:0.
Jan 26 11:54:06miniupnpdlistening for NAT-PMP traffic on port 5351
Jan 26 12:28:38ndmCore::System::Clock: system time has been changed.
Jan 26 12:28:38ndmNtp::Client: time synchronized with "2.pool.ntp.org".
Jan 26 12:28:38pppd[728]System time change detected.

Перезагрузка из веб и cli проходит нормальо

 

Link to comment
Share on other sites

15 часов назад, Buha сказал:

Роутер так же начинает циклически перезагружаться.

Во втором сообщении темы об этом написано. 

Причина, скорее всего, в том, что батарейки в часах в роутере нет. При перезагрузке текущее время записывается в конфиг и при старте роутера берется от туда.

У вас:

  1. Настало 12-12
  2. Cron в entware, увидел, что нужно выполнить задачу ребута
  3. Запись времени 12-12 в конфиг
  4. Ребут
  5. Старт роутера
  6. Запись в часы роутера времени из конфига - 12-12
  7. Старт entware и cron
  8. Cron видит, что пора выполнить задачу ребута, т.к. время 12-12
  9. Далее повторить с п.2 нужное число раз

Решение есть, но оно не совсем очевидное.

Нужно задачу из cron выполнять только, если uptime роутера больше, например, 10 минут. Тогда есть надежда, что и часы засинхронизируются, и задача не выполнится повторно.

Т.е. можно модернизировать запуск в cron так:

[ `cut -d '.' -f 1 < /proc/uptime` -ge 600 ] && reboot

 

Edited by gvan
  • Thanks 2
Link to comment
Share on other sites

  • 2 weeks later...

Т.е. можно модернизировать запуск в cron так:
[ `cut -d '.' -f 1 < /proc/uptime` -ge 600 ] && reboot

 


а как-то можно внешний носитель при этом корректно отрубать?
Link to comment
Share on other sites

11 час назад, emlen сказал:

а как-то можно внешний носитель при этом корректно отрубать?

А в чем некорректность отключения носителя при выполнении роутером команды reboot?

В принципе можно заменить команду перезагрузки роутера на более нативную - 

ndmq -p 'system reboot' -P message
Link to comment
Share on other sites

2 часа назад, emlen сказал:

а я обычно перед перезагрузкой через веб-морду еще предварительно тыкал по отмонтировать носители.

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

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...

вопрос следующий, есть свап раздел и раздел с данными на том же жестком что и энтварь(в двух вариантах FIRSTOPT: и LASTOPT:, для возможности удаленной проверки такого раздела), достаточно ли этих строк (Только в такой комбинации отрубаются все перечисленные разделы в веб морде, в т.ч. свап в 0..) в скрипте в баттон.д чтобы вырубать питание не убивая железяки?

Скрытый текст

#!/bin/sh
HDDT=$(smartctl -a /dev/sda | grep Temp | awk -F " " '{print $10}')
tg_say.sh ОТМОНТИРОВАНИЕ HDD , Т HDD - $HDDT гр. по Цельсию
ndmq -p 'no service dlna' -P message
ndmq -p 'no service torrent' -P message
/opt/etc/init.d/S70mysqld stop && /opt/etc/init.d/S79php7-fpm stop && /opt/etc/init.d/S80nginx stop && ndmq -p 'system no mount DATA:' -P message
/opt/etc/init.d/rc.unslung stop
/opt/sbin/swapoff /dev/sda3
ndmq -p 'system no mount LASTOPT:' -P message
ndmq -p 'system no mount FIRSTOPT:' -P message
ndmq -p 'system no mount DATA:' -P message
exit 0

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...