Использование и настройка 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

_______________________________________

Как видно, имя пользователя, от которого выполнять задание, прописано в таблице. Все остальное аналогично.