cron(クーロン)の設定[ubuntu]
cronの設定確認
「crontab -l」で現在の設定が表示されます。なければ「no crontab for xam」と言われます。これ(↓)はあった場合の例です。$ crontab -l SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/gems/1.8/bin RAILS_ENV=production # m h dom mon dow command */30 * * * * ruby /home/www/2.5-55.jp/lib/backup.rb > /dev/null 2>&1cronの設定方法
「crontab -e」とやるとエディタが立ち上がってきますので、ここで設定します。
「# m h dom mon dow command」が「分 時 日 月 曜日 コマンド」になります。
- 先頭の # はコメントです。
- * はなんでも可です。時間が * だと毎時になります。
- 範囲指定は - です。時間で 9-17 とすると 9時から17時の間有効になります。
- 飛び飛びの指定は , でできます。時間で 9,12,15,18 とすると 9時から18時まで3時間おきという指定になります。
- 間隔が一定な場合は / が使えます。時間で 9-18/3 とすると、上と同じ3時間おきという指定になります。
上の例だと、毎日毎時30分おきに「ruby /home/www/2.5-55.jp/lib/backup.rb」というコマンドを起動することになります。
cronの設定方法の注意
コマンドには「> /dev/null 2>&1」を付けて、標準出力も標準エラー出力も /dev/null に捨てないとうまくいかないそうです。(事前にググっていて対処済みだったため、付けないとどうなるかは未確認ですが)
cronの動作確認
ちゃんと設定した通り、プロセスが起動しているかどうかは「/var/log/syslog」を見ればわかります。
$ tail /var/log/syslog Jun 19 10:30:02 ubuntu710 /USR/SBIN/CRON[23750]: (xam) CMD (ruby /home/www/2.5-55.jp/lib/backup.rb > /dev/null 2>&1)
参考:cron(crontab)の簡単な使い方http://d.hatena.ne.jp/satake7/20080615/p1