В настоящее время я сталкиваюсь с файлом 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 был одним из них.