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

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

差分表示


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

UNIXには一定間隔で処理を行わせる仕組みとしてcronってのがあります。Windowsのタスクスケジューラみたいなものだと思って下さい。で、それの設定をするコマンドがcrontabです。設定の書き方ではかなり細かくスケジュールを定義する事ができるので結構便利なコマンドです。&br()
スケジュールとして使用できるのは"分/時/日/月/曜日"で、例えば毎週月曜日朝7:00に「今日は燃えるゴミの日」とメールしたり、毎月5日と20日に「今日は花とゆめの発売日」と表示したりする事ができます。&br()
&br()
で、crontabの書き方ですか、crontab -eで設定ファイルを呼び出して↓こんな感じに書きます。
---(
0 7 * * 1 gomi-message.sh
---)
とか、
---(
0 6 5,20 * * hanayume.sh 
---)
ってな感じでスペース区切りで各要素に数字(曜日は文字でもOK)を埋めていきます。左から分/時/日/月/曜日です。*は*なので毎分/毎時/毎日/毎月/毎曜日を意味します。それと計算式でもOKなので2時間おきに処理したい場合には0 */2 ……みたいな書き方もOKです。詳しくはman 5 crontab参照の事&br()
&br()
あとcrontab -lとすると現在の設定が表示されるので、crontab -l > ファイル名 で設定ファイルを保存しておけばOSの入れ替え時に楽ができます。保存したファイルの取り込み方はcrontab ファイル名 でインポートされます。cat ファイル名 | crontab でもOKですよ。&br()
ここで鋭い人はcrontabの保存も自動化できるって事に気付かれたでしょうね。

先頭へ