読者です 読者をやめる 読者になる 読者になる

座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

crontabの書き方の例

Linux

例を示せるほど詳しいわけではないけれど。僕はこんな感じでcrontabに書いている。

0 6 * * * run-parts /home/kosuke/etc/cron.daily >/dev/null 2>&1
0 1/* * * * run-parts /home/kosuke/etc/cron.hourly >/dev/null 2>&1
*/3 * * * * run-parts /home/kosuke/etc/cron.3min >/dev/null 2>&1
*/1 * * * * run-parts /home/kosuke/etc/cron.1min >/dev/null 2>&1

run-partsを使ったcrontabは、debianやubuntuで使われていたりする。

/etc/crontabの中身。

# 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 )

/etc/cron.dailyのなかに定期実行させたい実行ファイルを置けばいいのかもしれないが、そうするとrootユーザとして実行されてしまうため、ちょっと不便な場面がでてくると思う。

drwxr-xr-x  2 root root      4096  9月 22 16:02 cron.d
drwxr-xr-x  2 root root      4096  9月 22 16:02 cron.daily
drwxr-xr-x  2 root root      4096  9月 22 09:10 cron.hourly
drwxr-xr-x  2 root root      4096  9月 22 09:10 cron.monthly
drwxr-xr-x  2 root root      4096  9月 22 11:07 cron.weekly

そのため、ホームディレクトリ配下に/etc以下にある「cron.*」と同じようなディレクトリを用意して、crontabの記述も真似した。
「cronが実行されてない!なんでー」みたいな問題は、かなり起きにくくなるんじゃないかなと思う。少なくとも実行されていないという可能性は消せる。

広告を非表示にする