Ubuntu ~crontab~
○ cron / crontab
xxxxx。
○ 設定ファイル/関連ファイル
場所/ファイル | 内容 |
/var/spool/cron/crontabs/user-name |
ユーザの自動タスク設定ファイル |
/etc/crontab | 毎時、毎日、毎月、毎週の自動タスクのメイン設定ファイル |
/etc/cron.d/~ | 下記以外の自動タスク設定ファイルを置くディレクトリ |
/etc/cron.daily/~ | 1日に1回 実行される自動タスク設定ファイルを置くディレクトリ |
/etc/cron.hourly/~ | 1時間に1回 実行される自動タスク設定ファイルを置くディレクトリ |
/etc/cron.monthly/~ | 1ヶ月に1回 実行される自動タスク設定ファイルを置くディレクトリ |
/etc/cron.weekly/~ | 1週間に1回 実行される自動タスク設定ファイルを置くディレクトリ |
ツリービューでは |
/ ルート ├etc | ├cron.d | | └xxxxx :下記以外の自動タスク設定ファイルを置くディレクトリ | ├cron.daily | | └xxxxx :1日に1回 実行される自動タスク設定ファイルを置くディレクトリ | ├cron.hourly | | └xxxxx :1時間に1回 実行される自動タスク設定ファイルを置くディレクトリ | ├cron.monthly | | └xxxxx :1ヶ月に1回 実行される自動タスク設定ファイルを置くディレクトリ | ├cron.weekly | | └xxxxx :1週間に1回 実行される自動タスク設定ファイルを置くディレクトリ | └crontab :毎時、毎日、毎月、毎週の自動タスクのメイン設定ファイル └var └spool └cron └crontabs └user-name :ユーザの自動タスク設定ファイル |
○ 設定の確認
xxxxx。
# crontab -l
# m h dom mon dow command
17 * * * * root ls -l
xxxxx。
# crontab -u user-name -l
# m h dom mon dow command
17 * * * * root cd
○ 設定の変更
xxxxx。
# crontab -e
xxxxx。
# crontab -u user-name -e
○ 設定の記述方法
xxxxx。
# 分 時 日 月 曜日 コマンド
xxxxx
項目 | 設定可能な値 |
分 | 1-59 |
時 | 0-23 |
日 | 1-31 |
月 | 1-12 |
曜日 | 0-6 ( 日曜日が0となります。 ) |
コマンド | スクリプトなど、実行できるもの。 |
日時指定のサンプル集
記述 | 動作のタイミング |
43 23 * * * | 23:43に実行 |
0 17 * * 1 | 毎週月曜の 17:00に実行 |
0,10 17 * * 0,2,3 | 毎週日,火,水曜の 17:00と 17:10に実行 |
0-10 17 1 * * | 毎月 1日の 17:00から17:10まで 1分毎に実行 |
0 0 1,15 * 1 | 毎月 1日と 15日と 月曜日の 0:00に実行 |
42 4 1 * * | 毎月 1日の 4:42分に実行 |
0 21 * * 1-6 | 月曜日から土曜まで 21:00に実行 |
0,10,20,30,40,50 * * * * | 10分おきに実行 |
*/10 * * * * | 10分おきに実行 |
* 1 * * * | 1:00から 1:59まで 1分おきに実行 |
0 1 * * * | 1:00に実行 |
0 */1 * * * | 毎時 0分に 1時間おきに実行 |
0 * * * * | 毎時 0分に 1時間おきに実行 |
2 8-20/3 * * * | 8:02,11:02,14:02,17:02,20:02に実行 |
30 5 1,15 * * | 1日と 15日の 5:30に実行 |
○ 設定の変更
xxxxx。
# xxxxx
xxxxx
○ 設定の削除
設定していた内容が不要になったら、以下のコマンドで設定を削除できます。
# crontab -r
特定のユーザーの設定を削除する場合は、以下のようになります。
# crontab -u user-name -r
※ 設定が複数あった場合でも、上記の方法ではすべての設定が削除される。特定の設定を削除したい場合は、「-e」で編集するようにする。
○ ログの確認
ログは /var/log/syslog に残る。
# tail /var/log/syslog
Mar 26 14:17:01 ubuntu-v /USR/SBIN/CRON[4415]: (root) CMD (root ls -l)
syslog はいろんなログが残るので、cronに関するログだけ抽出する。
# grep cron /var/log/syslog
Feb 4 14:47:40 ubuntu-v /usr/sbin/cron[4166]: (CRON) INFO (pidfile fd = 3)
Feb 4 14:47:40 ubuntu-v /usr/sbin/cron[4167]: (CRON) STARTUP (fork ok)
Feb 4 14:47:40 ubuntu-v /usr/sbin/cron[4167]: (CRON) INFO (Running @reboot jobs)
Feb 4 14:50:54 ubuntu-v /usr/sbin/cron[4174]: (CRON) INFO (pidfile fd = 3)
Feb 4 14:50:54 ubuntu-v /usr/sbin/cron[4175]: (CRON) STARTUP (fork ok)