ユーザ用ツール

サイト用ツール


サイドバー


メニュー




スポンサーリンク





linux:cron

Linux:cron

cron

cronとは

  • cronは決められた時間にコマンドを実行ささせるコマンド。crondデーモンにより実行される

cronの動作

  • crontabファイルを読み込み、1分毎に起動すべきコマンドがあれば起動し、crontab の所有者にメールを送信する。
  • cronは1分毎にスプールディレクトリ(/var/spool/cron/)または/etc/crontabファイルの最終修正時刻をチェックし、もし変更されていればcrontabファイルを読み直す

crontabファイル

crontabファイルの場所

システム共通のcrontabファイル

  • /etc/crontab

ユーザー毎のcrontabファイル

  • /var/spool/cron ディレクトリの下にユーザー名で作成される。ユーザー'hoge'の場合
    /var/spool/cron/hoge となる

書式

  • 分、時、日、月、曜日、ユーザー名、コマンドの5つの周期(分、時、日、月、曜日)とユーザー名、コマンドの7つのフィールドで構成されている。
    ※ ユーザー毎のcrotabファイルにはユーザー名は指定しない
分 時 日 月 曜日 ユーザー名 コマンド

周期の指定

  1. ワイルドカード(*)
    ワイルドカードを指定した場合、周期の各フィールドは以下となる。
    分:0~59
    時:0~23
    日:1~31
    月:1~12
    曜日:0~7(0が日曜日で7と同じ)

  2. リスト指定(,)
    実行したい時間を複数指定する。
    例) 10, 20, 30 :分フィールドで指定した場合 10, 20, 30 分に起動する。

  3. 範囲指定(-)
    例) 1-5:曜日フィールドで指定した場合 月曜から金曜に起動する

  4. 間隔指定(/)
    例) /2:時間フィールドで指定した場合、2時間ごとに起動する。

crontabの設定

/etc/crontab

  • /etc/crontabは以下のように設定されている。
      SHELL=/bin/bash
      PATH=/sbin:/bin:/usr/sbin:/usr/bin
      MAILTO=root
      HOME=/
      # run-parts
      01 * * * * root run-parts /etc/cron.hourly
      02 4 * * * root run-parts /etc/cron.daily
      22 4 * * 0 root run-parts /etc/cron.weekly
      42 4 1 * * root run-parts /etc/cron.monthly
      
  1. 毎時01分に実行される 
    01 * * * * root run-parts /etc/cron.hourly 
  2. 毎日04時02分に実行される 
    02 4 * * * root run-parts /etc/cron.daily
  3. 毎週日曜日の04時22分に実行される
    02 4 * * * root run-parts /etc/cron.daily
  4. 毎月01日04時42分に実行される
    02 4 * * * root run-parts /etc/cron.daily

run-parts コマンド

  • run-parts コマンドはパラメータで指定されたディレクトリ内の実行可能ファイルをアルファベット順に実行するコマンド。
    上記設定の場合、以下のタイミングで実行される。

ユーザー毎の crontab の設定

ユーザー毎の crontab を設定する場合、crontab コマンドを使用する。

Crontab コマンド

編集
crontab -e
表示
crontab -l
削除
crontab -r
linux/cron.txt · 最終更新: 2016/03/05 11:52 by dokuroot