Hatena::Groupmylinux

今日も元気にlinux

2008-09-10

[][]CentOSでのcronの使い方。 22:13 CentOSでのcronの使い方。 - 今日も元気にlinux を含むブックマーク はてなブックマーク - CentOSでのcronの使い方。 - 今日も元気にlinux CentOSでのcronの使い方。 - 今日も元気にlinux のブックマークコメント

3ヶ月くらい放置していたわりにはコマンド結構覚えててびっくり、もとい良かった。

あるタスクを決まった周期で実行するためのコマンドとして、Windowsではschtasksがあるように

Linuxではcronというやつがあります。

crontab -e

で、現在のスケジュール定義を規定のエディタで開く。そこに

*/30 * * * * ruby /home/samba/scr/get_rootip.rb

と書いてやる。時間の単位は5段階あって右から

分 時 日 月 曜日

となる。アスタリスクを使用した単位は毎分/毎時/毎日/毎月/毎曜日となり

なんらかの数字を入力した単位は、その通りのタイミングで動作する。詳しくは以下の通り。

ページが見つかりませんでした –  Dream Seed

分:0~59で指定します。*(ワイルドカード)も使用可能です。 
時:0~23で指定します。*(ワイルドカード)も使用可能です。 
日:1~31で指定します。*(ワイルドカード)も使用可能です。 
月:1~12で指定します。*(ワイルドカード)も使用可能です。また、月の名前の最初の3文字で指定することもできます。jun、julなど。 
曜日:0~7で指定します。*(ワイルドカード)も使用可能です。0と7が日曜日で6が土曜日です。また、sun等の名前で指定することもできます。 
コマンド:cronが実行するコマンドです。当然実行可能なものでなければいけません。
日付、時間の部分は範囲指定が可能です。例えば1時、2時、3時なら
時間のフィールドに「1,2,3」と書く代わりに「1-3」と書けます。
また、何分おき(あるいは何時間おき)という場合は「*/」の後に書きます。
2時間おきなら「*/2」です。「1,4,7,10」は「1-10/3」と書くこともできます。

今回は自宅ルータIPFTPサーバにアップするスクリプトを30分毎に動かすように設定しました。

ちなみに設定ファイルは"/var/spool/cron"以下に作られ、

cronのログは"cat var/log/cron"で閲覧できるので覚えておこう。

システムが使用する定期処理用のディレクトリ

/etc/crontabはシステムが使用するcronリストです。

  • /etc/cron.hourly
  • /etc/cron.daily
  • /etc/cron.weekly
  • /etc/cron.montyly

に詳しい設定内容が書かれています。

※"主にシステムが使用する"だけで、自分でここに設定を書いてしまってもいいです。

ただ一般的には前出の crontab -e でユーザー定義を呼び出して設定するみたいです。