Использование и настройка crond в прошивке "от энтузиастов" на ASUS RT-N16
Помощь:
http:///routers/routery-asus/93-nastrojka-crond-iz-proshivki. html
http://wl500g. info/showthread. php? p=230253&highlight=%EF%F0%EE%F8%E8%E2%EA%E5#post230253
помощь по busybox - http:///downloads/BusyBox. html
В прошивке "от энтузиастов" crond, как и некоторые другие сервисы, являются частью BusyBox (http:///).
Рабочей директорией crond является /var/spool/cron, а директорией, где crond ищет конфигурационные таблицы - /var/spool/cron/crontabs (~var это симлинк на /tmp/var, ~crontabs это симлинк на /tmp/etc/crontabs. Истинный путь до crontabs - /tmp/etc/crontabs).
Имя файла конф. таблицы для прошивочного crond должно совпадать с именем пользователя, прописанным в /etc/passwd Каждый пользователь может иметь только одну таблицу.
Для моего роутера эта таблица – файл root (полный путь /var/spool/cron/crontabs/root, истинный путь без симлинков /tmp/etc/crontabs/root),
С прошивкой 4489 при перезагрузке роутера файл root не сохраняется в /var/spool/cron/crontabs (/tmp/etc/crontabs). Причина не выяснена. Для устранения перенес этот файл в другое место - /opt/etc/crontabs. Полный путь /opt/etc/crontabs/root. В скрипт установки и в S10crond внесены изменения.
Содержание таблицы:
___________________________________________
# ------------------------------------------------------------- #
# Syntax for lines is : minute hour day month dayofweek command #
# ------------------------------------------------------------- #
*/1 * * * * /opt/bin/run-parts /opt/etc/cron.1min
*/5 * * * * /opt/bin/run-parts /opt/etc/cron.5mins
01 * * * * /opt/bin/run-parts /opt/etc/cron. hourly
02 4 * * * /opt/bin/run-parts /opt/etc/cron. daily
22 4 * * 0 /opt/bin/run-parts /opt/etc/cron. weekly
42 4 1 * * /opt/bin/run-parts /opt/etc/cron. monthly
_____________________________________
Таблица обязательно должна иметь последнюю пустую строку (иначе не будет выполняться последняя строка с инструкцией) и права доступа 600
Каждая строка указывает crond, что нужно запустить скрипты из временны́х директорий (минутных, пятиминутных и т. д.) с помощью скрипта run-parts.
В моем роутере ежечасно исполняется скрипт проверки длины логфайлов и архивирования их при длине более 100 кБайт (лежит в /opt/etc/cron. hourly).
Команды crond:
crond - fbS - l N - d N - L LOGFILE - c DIR
- f Foreground
- b Background (default)
- S Log to syslog (default)
- l Set log level. 0 is the most verbose, default 8
- d Set log level, log to stderr
- L Log to file
- c Working dir
Команды crontab – сервиса создания, редактирования и т. д. файлов таблиц:
crontab [-c DIR] [-u USER] [-ler]|[FILE]
- c Crontab directory
- u User
- l List crontab
- e Edit crontab
- r Delete crontab
FILE Replace crontab by FILE ('-': stdin)
______________________________________________
CRON
Для строннего cron файл основной конф. таблицы называется crontab, лежит в /opt/etc. Кроме этого есть скрипт, управляющий – создание, редактирование и т. д. – таблицами, тоже имеет имя crontab, лежит в /opt/bin - отсюда возможна путаница.
Для моего роутера файл /opt/etc/crontab содержит:
__________________________________________
SHELL=/bin/sh
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/usr/bin:/opt/usr/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
_______________________________________
Как видно, имя пользователя, от которого выполнять задание, прописано в таблице. Все остальное аналогично.


