私は現在、12の異なるアプリケーションのタスクを含むcronファイルに直面しています。1つしかないものもあれば、たくさんあるものもあります。私はこれらのプロセスを整理して文書化するための良い方法を見つけようとしています。私がエミュレートできる慣習はありますか、それとも何かを作り上げるのに行き詰まっていますか?
#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
/etc/cron.dのcronジョブの形式は少し異なることに注意してください。つまり、コマンドを実行しているユーザーを時間フィールドとコマンド自体の間に配置します。
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の多くの実装では、ファイルが改行で終了していない場合、ファイルの最後のジョブが実行されません。
DebianLennyもその1つです。