*cronについて [#s3c09d3b]
wikiサイトのバックアップシェルを作ったんだけど、これを毎日定時刻に実行したい。
そんなわけで、cronの設定をしてみました。ここのサイトを参考にして笑
-[[cronの設定ガイド:http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html]]
へー、簡単!
***cronの仕組み [#v067cb77]
なにやら、「/etc/crontab」ってやつに、以下のような内容が定義されている。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
これがcronの定義で、crondがこれをみて実行するらしい。
見方は先のサイトを参照のこと。そのうち転記するかも笑
して、定義の最後の4行でそれぞれ、1時間に1回実行するもの〜1月に1回実行するもの、まで定義されている。
Linuxっておもしろいね〜
だって、標準で、
-毎時実行するのは''毎時1分''
-毎日実行するのは''毎日4時2分''
-毎週実行するのは''毎週日曜日の4時22分''
-毎月実行するのは''毎月1日の4時42分''
ってデフォルトで決めちゃってるんだからね〜
しかし、
-毎時実行したいコマンドは「/etc/cron.hourly」に、
-毎日実行したいコマンドは「/etc/cron.daily」に、
-毎週実行したいコマンドは「/etc/cron.weekly」に、
-毎月実行したいコマンドは「/etc/cron.monthly」に、
実行したいコマンドを入れとけばいい、って仕組みは、なかなか賢い!
***cronに登録 [#yaf8e21a]
さてさて、やりたいことは、wikiのデータの日次バックアップだから、「/etc/cron.daily」ディレクトリに、バックアップシェルのシンボリックリンクをつっこみます。
したらこんな感じになります。
# ll /etc/cron.daily/
合計 68
-rwxr-xr-x 1 root root 379 3月 28 2007 0anacron
lrwxrwxrwx 1 root root 39 9月 19 2007 0logwatch -> /usr/share/logwatch/scripts/logwatch.pl
-rwxr-xr-x 1 root root 118 7月 31 2007 cups
-rwxr-xr-x 1 root root 180 1月 7 2007 logrotate
-rwxr-xr-x 1 root root 418 1月 6 2007 makewhatis.cron
-rwxr-xr-x 1 root root 137 3月 15 2007 mlocate.cron
-rwxr-xr-x 1 root root 2181 11月 22 2006 prelink
-rwxr-xr-x 1 root root 114 3月 15 2007 rpm
-rwxr-xr-x 1 root root 290 3月 15 2007 tmpwatch
lrwxrwxrwx 1 root root 20 9月 19 01:29 wiki_backup -> /root/wiki_backup.sh
さてさて、ちゃんとうごくかな〜