Wiki
Clone wikirt-n56u / RU / Использование cron
Использование cron
В составе прошивке есть cron — сервис, позволяющий периодически выполнять определённые скрипты и/или команды в заданное время.
- Перейдите на страницу веб-интерфейса
Администрирование > Сервисы
, - Включите
Сервис Cron (планировщик)?
, - Поместите нужные задания в поле
Задания планировщика (Crontab)
, - Нажмите кн.
Применить
.
Пример строки задания:
00 06 * * * ether-wake -i br0 XX:XX:XX:XX:XX:XX
00 06 * * *
— это время, когда задание должно быть выполнено (в примере "ежедневно в шесть утра"), ether-wake -i br0 XX:XX:XX:XX:XX:XX
— команда, которая должна быть выполнена (в примере "разбудить в локалке ПК с MAC'ом XX:XX:XX:XX:XX:XX). Детали синтаксиса crontab можно посмотреть здесь.
Примечание
При старте сron наследует переменную $PATH
из окружения прошивки (без /opt/bin
и /opt/sbin
), поэтому в заданиях и выполняемых скрипах необходимо прописывать полные пути до каждого исполняемого файла за пределами прошивки. Чтобы этого избежать, используйте shell-враппер /etc/storage/cron/shell-wrapper.sh
:
#!/bin/sh # Pull $PATH and other settings from /etc/profile and /opt/etc/profile . /etc/profile # Shell keywords shouldn't have a "-c" prefix [ "$1" = "-c" ] && shift # Call cron job SHELL=/bin/sh eval $@
chmod +x /etc/storage/cron/shell-wrapper.sh
SHELL=/etc/storage/cron/shell-wrapper.sh
Отдельное спасибо @themiron за отладку враппера.
Updated