トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

crontab の書き方

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

で文字コードを設定しておくと良い。

[カテゴリ: OS > Linux]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2019年11月25日 23時40分08秒