Настройка действий по расписанию «Crontabs»
Для автоматизации обслуживания и администрирования работы роутеров предусмотрена возможность выполнения команд и пользовательских скриптов по заданному расписанию.
Расписание можно гибко настроить, используя минуты, часы, дни месяца, месяцы, дни недели или их комбинации.
Чтобы настроить выполнение команд по расписанию:
-
Перейдите в web-интерфейсе на вкладку Service в раздел Crontabs.
-
Для добавления команды в расписание, укажите время и команду.
Добавление осуществляется посредством кнопки + («плюс»), а удаление — кнопкой - («минус»). Отметка в столбце Enable позволяет включать, или отключать выполнение инструкции без ее удаления.
Команда указывается в поле Command. Время выполнения указывается в полях:
-
Minute (минута, от «0» до «59»)
-
Hour (час, от «0» до «23»)
-
Day (день, от «1» до «31»)
-
Month (месяц, от «1» до «12»)
-
Weekday (день недели, от «0» до «6», где воскресение — это «0»)
-
На рисунке ниже представлен пример комады по перезагрузке роутера в первую минуту каждого часа. Для сохранения выполненных настроек используйте кнопку Save.
Все поля обязательно должны быть заполнены
Рекомендации по заполнению полей
-
При перечислении минут, часов дней и месяцев указывайте требуемые значения через запятую.
Например, если запись в поле Minute: 10,20,30, то команда будет выполняться каждую 10, 20, 30 минуту.
-
При необходимости выполнения команды в течение всего диапазона времени (каждый час, день, месяц) используйте символ «*».
-
Для выполнения команд через обозначенный интервал используйте сочетание символов «*/Y», где Y - интервал, через которое будет выполняться действие.
Например, запись «*/2» в поле Hour означает, что команда будет выполнятся каждые два часа.
-
При необходимости указать какой-то интервал из всего диапазона значений, используйте символ «-».
Например, запись «1-5» в поле Weekday означает, что инструкция выполняется в дни недели с понедельника по пятницу.
-
Значения указываются от меньшего к большему, чтобы заданные значения интервала были в рамках одного диапазона. При необходимости разбейте выполнение команды на две инструкции.
Например, если требуется выполнение действия в вечернее и ночное время с 21:00 до 6:00, используйте две инструкции: с 21:00 до 23:00 и с 00:00 до 6:00.
-
При необходимости задать для команды перечисление значений (в 9, 12 и 16 часов) и интервал значений (с 18 до 23 часов) в одном поле, разбейте эту инструкцию на две: отдельно для причисления и отдельно для интервала.
-
Значения от 1 до 9 записываются без 0 перед ними.
Для выполнения команды в пять часов или в пятый день месяца, корректной будет запись «5» в соответствующих полях.
При необходимости проверить корректность заданных значений, воспользуйтесь сервисом Crontab.Guru.
В качестве команды можно использовать предварительно загруженные скрипт пользователя, который рекомендуется помещать в энергонезависимой памяти роутера.
Для этого отведен отдельный каталог в файловой системе роутера – /opt, чтобы скрипт не был удален при сбросе на заводские настройки или при обновлении прошивки роутера.
Скрипт можно поместить в каталог через консоль роутера, используя протокол SCP, либо воспользоваться утилитой WinSCP.
После копирования скрипта в каталог, /opt необходимо дать права на его выполнение. Для этого подключитесь к роутеру по ssh и выполните команду:
chmod +x /opt/my_script.sh
Для скриптов необходимо указывать их полный путь в поле Command. Скрипты могут быть написаны на языке MicroPython или на языке командного интерпретатора (shell).
Подробнее о планировщике Crontab можно прочитать на сайте.