По умолчанию процесс cron запускается с параметром -с /rwfs/cron (см. /rwfs/rc.d/S20crond), в то время, как crontab использует каталог /rwfs/cron/crontabs. Чтобы не делать лишних действий, будем использовать каталог (и файл) по умолчанию. Обратите внимание, что пример приведён для прошивки wive-ng-dsl 0.5.7 (uClinux), в других системах используются совершенно другие пути. Вызываем crontab для нужного каталога:
crontab -c /rwfs/cron -e(Или можно просто набрать "vi /rwfs/cron/Admin".) Видим содержимое файла конфигурации.
SHELL=/bin/bash PATH=/bin:/sbin:/rwfs/scripts #*/1 * * * * echo "work at 1 minits" > /var/crontest #01 * * * * hourly #02 4 * * * cron.daily #22 4 * * 0 cron.weekly #42 4 1 * * cron.monthlyДля редактирования файла (в т.ч. и через crontab) используется редактор vi, про него уже упоминалось в теме про стартовые скрипты. Вкратце - жмем Insert, чтобы войти в режим редактирования и Esc + ":wq" чтобы выйти c сохранением изменений. Формат строк в файле такой:
Мин.(0..59) Час(0..23) День(1..31) Мес.(1..12) Д.недели(1..7) КомандаМожно использовать *, если значение не важно, или */Х для срабатывания раз в Х интервалов. Раскомментируем первую строку (уберем знак # в начале) и запустим крон, если он не был запущен ранее.
service crond restart cat /var/crontest work at 1 minitsВсё работает, можно добавить свои правила. Используем iptables для ограничения доступа к интернету с определённого клиентского адреса (в данном случае 10.1.1.2). Будем выключать доступ в 22 часа вечера и включать в 7 утра. Для этого добавим в /rwfs/cron/Admin следующие строки:
01 22 * * * iptables -A FORWARD -i ppp+ -d 10.1.1.2 -j DROP 01 07 * * * iptables -D FORWARD -i ppp+ -d 10.1.1.2 -j DROPСохраним настройки и перезапустим крон:
service rwfs save service crond restartДоступ будет включаться и выключаться автоматически в назначенные часы.
Жаль я продал свой роутер, сейчас бы попробовал.
ОтветитьУдалить