/etc/cron.hourlyにファイルがあります:
-rwxr-xr-x 1 root root 117 Mar 8 20:33 myjob
私は働く:
3,18,33,48 * * * * /usr/bin/python /home/me/src/myproject/src/manage.py myjobs > /home/me/log
3,18,25,27,29,31,33,35,37,48 * * * * /bin/echo "testing....." > /home/me/log
/etc/crontab:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
ログファイルが表示されないのはなぜですか?抜けたものはありますか? myjobは毎時間3,18、...分で実行する必要があります。
答え1
cron.hourlyのエントリは実行部分メカニズムによって実行されます(詳細はman実行部分を参照)。 run-parts は、有効とみなされるファイル名には難しいです。
たとえば、スクリプトに拡張機能を追加すると、その拡張機能が無効になり、ジョブの実行が失敗します。
/etc/cron.hourly(または.daily、.weeklyなど)にジョブを追加するときは、常にrun-parts --test /etc/cronコマンドを実行して、run-partsが実際にそのジョブを実行していることをテストしてください。毎時間
答え2
/etc/cron.hourly
、、、のスクリプトは特定の時間に実行されるよう/etc/cron.daily
に設計されており、一般的なcrontab形式ではありません。あるいは、単にcrontab形式のファイルではなくスクリプトです。/etc/cron.weekly
/etc/cron.monthly
/etc/cron.hourly の場合、毎時間実行されます。
crontabに行を挿入するには、crontab -eを使用する必要があります。 /etc/cron.hourlyで実行するには、5つの時間フィールドを削除して毎時間実行する必要があります(例:3,18,33,48 * * * *削除)。
そのため、スクリプトを/etc/cron.d
myjobの内容に移動したり、crontabファイルに追加したりできます。 /etc/cron.hourly ディレクトリから取得します。
/etc/crond.dに戻り、次のファイルに入れる必要があります。
3,18,33,48 * * * * root /usr/bin/python ....