Назад | Перейти на главную страницу

Есть ли хорошее соглашение о макете для файлов cron?

В настоящее время я сталкиваюсь с файлом cron, который содержит с десяток различных задач приложений - у некоторых только одна, у некоторых много. Я пытаюсь придумать хороший способ организовать и задокументировать эти процессы. Есть ли какие-то условности, которым я мог бы подражать, или я застрял придумывать что-то?

#minute hour    mday    month   wday    who     command

## Acme Anvil Application
# clear logs every 5 minutes
*/5     *       *       *       *       root    /path/to/clear_logs
# monthly maintenance
30      5       1       *       *       root    /path/to/acme/maintenance

## Fabricam
# adjust timing
*/30    0-5     *       *       *       fab    /path/to/bin/fab_time

## Etc...

Если ваша система поддерживает /etc/cron.d, вы также можете попробовать разбить задания cron на отдельные файлы, сгруппированные по приложениям.

root@linuxbox:/etc/cron.d# ls
sa-update  sysstat  vnstat

Обратите внимание, что формат заданий cron в /etc/cron.d немного отличается, поскольку вы поместите пользователя, выполняющего команду, между полями времени и самой командой, например,

root@linuxbox:/etc/cron.d# cat sa-update
### OPTIONAL: Spamassassin Rules Updates ###
#
# http://wiki.apache.org/spamassassin/RuleUpdates
# Highly recommended that you read the documentation before using this.
# ENABLE UPDATES AT YOUR OWN RISK.
#
# /var/log/sa-update.log contains a history log of sa-update runs

10 4 * * * root /usr/share/spamassassin/sa-update.cron 2>&1 | tee -a /var/log/sa-update.log

Я бы рекомендовал убедиться, что у вас есть комментарий в конце вашего файла / etc / crontab. Многие реализации cron не запускают последнее задание в файле, если оно не завершается переводом строки.

Debian Lenny был одним из них.