CentOS (Linux): crontab

概要

この時間・分・曜日になったら何かプログラムを実行するとかの時に使う。
定期的にバックアップをとったり、データを集計したりできます。

crond サービスが起動していれば使える。

コマンドで操作します。

 

コマンド

crontab [-u ユーザー] {-e | -l | -r}

-u 特定ユーザーの crontab ファイルを操作する。root 管理者のときのみ使える。
-e 自分ユーザーの crontab の編集
-l 自分ユーザーの crontab 内容の表示
-r 自分ユーザーの crontab の削除

 

基本的にこの編集コマンド使う

$ crontab -e

 

crontab シンタックス

# コメント
分 時 日 月 曜日 コマンド

スペース区切りで指定します。
別のタスクを追加したい場合は改行して記載する。

分    0〜59 または * (毎分)
時    0〜23 または * (毎時)
日    1〜31 または * (毎日)
月    1〜12 または * (毎月)
曜日   0〜7 (0,7 日曜日) または * (毎曜日)
コマンド 実行するコマンドまたはシェルスクリプトを指定

 

# ウキウキウォッチングのチェック
0 12 * * 1-5 /User/watashi/check_ukiukiwatching.sh

数値

0,10,20 カンマで複数指定可能
1-5    ハイフンで一斉指定可能
1-5/2  /2 で 2 つ間隔で一斉指定

 

状態の確認

$ /etc/rc.d/init.d/crond status
crond (pid xxx) を実行中...

実行中と表示されていればOK

 

デーモン起動

$ /etc/rc.d/init.d/crond start

 

OS 起動時に crond の自動起動を ON に

$ chkconfig --level 2345 crond on

 

crond の自動起動をチェック

$ chkconfig --list crond
crond     0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ

ランレベル 2 〜 5 がオンで、少なくとも 2, 3 が オンなら OK。

0 : シャットダウン ( システム停止中 )
1 : シングル ユーザー モード ( root のみ )
2 : マルチ ユーザー モード ( ネットワークなし )
3 : マルチ ユーザー モード ( テキスト )
4 : 未使用
5 : マルチ ユーザー モード ( グラフィカル )
6 : システム再起動

 

現在設定されている crontab の確認

$ crontab -l