crontab コマンド(自動実行)

更新日:2009/07/27


トップ→crontab コマンド(自動実行)

crontab とは

 crontab とは、unix,linux などの自動実行ツールです。
 crontab で実行時間を設定しておけば、その指定時間に指定処理を自動実行することが 出来ます。
 夜間でのバッチ処理を指定しておくのに便利です。

crontab 指定

 設定は簡単で、まずスーパーユーザになり、 crontab -e コマンドでエディタを起動します。
 エディタは vi ですので vi での基本的な操作をマスターしておくほうが良いでしょう。
 最初は何も設定されていないので、自分で設定しますが、左から

 「分」 「時」 「日」 「月」 「曜日」 「実行処理」

と設定します。
 具体的に10日1時30分に「/root/bat」 と言う処理を実行する場合は以下の通りに設定します。


[root@hoge ~]# crontab -e

30 1 10 * * /root/bat


 それぞれく区切りは半角スペースを設定します。  つまり具体的に該当する時間があれば指定するし、そうでない場合は * を指定します。
 また、範囲指定を行いたい場合は 1-3 と指定します。
 この場合は 開始は 1、2、3、 の3回になります。
 そして、指定時間ば飛ぶ場合は 1,4 のようにカンマ指定となります。
 お分かりのようにこれは 1の時と 4の時に起動がかかります。

crontab 時間、日時などの指定

 指定範囲に関しては以下の通りです。


「分」 0 - 59
「時」 0 - 23
「日」 1 - 31
「月」 1 - 12
「曜日」0 - 7



 ここで、カンマ、ハイフォンの混在も可能です。
 1,5,10,20-23
 のように設定された場合は 1, 5, 10, 20, 21, 22, 23 の示す時刻に実行されます。
 また、*/10 のように設定すると 10の時間にいつも起動されます。

crontab 設定例


10 * * * * /root/bat  ←毎時10分になると/root/bat が実行

10,15 * * * * /root/bat  ←毎時10分,15分に/root/bat が実行

10,15 20-21 * * * /root/bat  ←20時,21時の10分,15分に/root/bat が実行

10 0 10,15 * * /root/bat  ←10日,15日の0時,10分に/root/bat が実行

10 0 10,15 1,6 * /root/bat  ←1月,6月10日,15日の0時,10分に/root/bat が実行

0 0 * * 1,4 /root/bat  ←月曜,木曜の0時,0分に/root/bat が実行

*/30 * * * * /root/bat  ←30分毎に/root/bat が実行

* */2 * * * /root/bat  ←2時間毎に/root/bat が実行

*/30 0-8 * * * /root/bat  ←0時~8時の間は30分毎に/root/bat が実行

30 12,17 * * * /root/bat  ←12時30分,17時30分に/root/bat が実行



crontab オプション

 オプションは -u -e -l -r があり使用法は以下の通りです。
 crontab [ -u ユーザ名 ] { -l | -r | -e }

-u ユーザ名:ユーザを指定します。
-l:リストオプション
-r:削除オプションで設定内容が削除されます。
-e:編集オプション、vi が起動されます。


/etc/cron.d にファイル作成

 /etc/cron.d にクーロンファイルを作成すると、そのファイル設定に従って自動起動可能です。


[root@hoge ~]# echo "*/10 * * * * /home/hoge/bat" > /etc/cron.d/hoge


 上記設定で10分毎に /home/hoge/bat が自動起動します。





トップ→crontab コマンド(自動実行)












このホームページは すべてリンクフリーです。

inserted by FC2 system