表紙 | 新規 | 編集 | 編集 | 差分 | 一覧 | RSS | 検索 | 閲覧履歴 | 作成履歴 | 更新履歴

crontab - 指定された時刻にプログラムを実行させる仕組み

指定された時刻にプログラムを実行させる仕組み

UNIXには一定間隔で処理を行わせる仕組みとしてcronってのがあります。Windowsのタスクスケジューラみたいなものだと思って下さい。で、それの設定をするコマンドがcrontabです。設定の書き方ではかなり細かくスケジュールを定義する事ができるので結構便利なコマンドです。
スケジュールとして使用できるのは"分/時/日/月/曜日"で、例えば毎週月曜日朝7:00に「今日は燃えるゴミの日」とメールしたり、毎月5日と20日に「今日は花とゆめの発売日」と表示したりする事ができます。

で、crontabの書き方ですか、crontab -eで設定ファイルを呼び出して↓こんな感じに書きます。

0 7 * * 1 gomi-message.sh
とか、
0 6 5,20 * * hanayume.sh 
ってな感じでスペース区切りで各要素に数字(曜日は文字でもOK)を埋めていきます。左から分/時/日/月/曜日です。*は*なので毎分/毎時/毎日/毎月/毎曜日を意味します。それと計算式でもOKなので2時間おきに処理したい場合には0 */2 ……みたいな書き方もOKです。詳しくはman 5 crontab参照の事

あとcrontab -lとすると現在の設定が表示されるので、crontab -l > ファイル名 で設定ファイルを保存しておけばOSの入れ替え時に楽ができます。保存したファイルの取り込み方はcrontab ファイル名 でインポートされます。cat ファイル名 | crontab でもOKですよ。
ここで鋭い人はcrontabの保存も自動化できるって事に気付かれたでしょうね。
先頭へ