http://ja.wikipedia.org/wiki/Crontab
http://miya0.dyndns.org/pc/settei/crontab.html
http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
https://qiita.com/aki-takano/items/3a3c5fca3c185173eda1
cronの設定ファイル
cronの設定ファイルは、以下の表の通りです。crond は、毎分、以下の設定ファイルの内容に変更がないかを確認し、変更があった場合には、それを反映して実行します。
ファイル/ディレクトリ名 | 利用者 | 主な用途 |
---|---|---|
/var/spool/cron/user | 全ユーザ | ユーザの自動タスク設定ファイル |
/etc/crontab | root | 毎時、毎日、毎月、毎週の自動タスクのメイン設定ファイル |
/etc/cron.hourly | root | 毎時実行される自動タスク設定ファイルを置くディレクトリ |
/etc/cron.daily | root | 毎日実行される自動タスク設定ファイルを置くディレクトリ |
/etc/cron.monthly | root | 毎月実行される自動タスク設定ファイルを置くディレクトリ |
/etc/cron.weekly | root | 毎週実行される自動タスク設定ファイルを置くディレクトリ |
/etc/cron.d | root | 上記以外の自動タスク設定ファイルを置くディレクトリ |
crontabコマンドの書式
crontabファイルは、cron を操作する際に作成し、プロセスを定期的に実行するためのファイルで、crontabコマンドで作成します。書式は、以下の通りです。
# crontab [- u user] {-l|-r|-e}
なお、指定可能なオプションについては、下の表を参照して下さい。
オプション | |
---|---|
-e | crontabを対話的に編集します。通常は、viエディタが起動して、設定ファイルの編集を行ないます。 |
-l | crontabファイルの内容を表示します。 |
-r | crontabファイルを削除します。 |
-u user | userで指定したユーザのcrontabファイルを操作の対象とします。なお、このオプションは、rootユーザのみ使用できます。 |
書き方
# (行頭の # マークはコメント行を示す) # +------------ 分 (0 - 59) # | +---------- 時 (0 - 23) # | | +-------- 日 (1 - 31) # | | | +------ 月 (1 - 12) # | | | | +---- 曜日 (0 - 6) (日曜日=0) # | | | | | # * * * * * 実行されるコマンド
例1
毎日3時にシェル実行 00 03 * * * /mnt/sdb/backup/backup.sh
例2
43 23 * * * 23:43に実行 12 05 * * * 05:12に実行 0 17 * * * 17:00に実行 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に実行
@を使った時刻指定
例
@reboot /path/to/script
記述 | 意味 |
---|---|
@reboot | Run once, at startup. |
@yearly | Run once a year, '0 0 1 1 *'. |
@annually | (same as @yearly) |
@monthly | Run once a month, '0 0 1 * *'. |
@weekly | Run once a week, '0 0 * * 0'. |
@daily | Run once a day, '0 0 * * *'. |
@midnight | (same as @daily) |
@hourly | Run once an hour, '0 * * * *'. |
GUIで設定する
gnome-schedule
をインストールすることで、GUIで設定できる。
cronで届くメールを止める
cron で実行された標準出力やエラーはcronファイルの所有者に
メールで届く。これを止めるには2つの方法がる。
方法1
標準出力、標準エラーを /dev/null へ送る
hoge.sh >/dev/null 2>&1
方法2
設定ファイルで、メールの宛先を空にする
MAILTO="" 0 17 * * * hoge.sh
文字が化ける
cron で実行すると LANG環境変数が設定されずにログファイル等が化けることがある。
cron から実行されるシェル等の冒頭で
export LANG=ja_JP.UTF-8
で文字コードを設定しておくと良い。
[通知用URL]
Tweet
最終更新時間:2019年11月25日 23時40分08秒