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 コマンド(自動実行)
このホームページは すべてリンクフリーです。