crondの使い方

Table of Contents

参考にしたページ http://qiita.com/iganari/items/5a61ec93d989f7c77a2c http://www.server-memo.net/tips/crontab.html http://d.hatena.ne.jp/satake7/20080615/p1 http://bakunyo.hatenablog.com/entry/2013/06/20/crontab%E4%BD%BF%E3%81%84%E6%96%B9%E3%81%BE%E3%81%A8%E3%82%81%E3%80%82 http://qiita.com/tossh/items/e135bd063a50087c3d6a http://www.uetyi.com/server-const/linux-server/entry-162.html

#書き方

例 毎時0分に/path/example.sh↲を実行

分 時 日 月 曜日 コマンド
 0 * * * * /path/example.sh↲
time value
0〜59
0〜23
1〜31
1〜12 または jan〜dec
曜日 0〜7 または sun〜sat

##環境変数

variable description
SHELL cronで使用されるシェルを設定します。
PATH cronに教えるパスの設定します。ここで設定されていないパス上にあるコマンド等を実行させる場合は、フルパスでコマンド等を設定する必要があります。
MAILTO cronの実行結果を送るユーザまたはメールアドレスを指定します。メールを送信したくない場合は「MAILTO=""」と設定します。
HOME cronが実行されるカレントディレクトリとなります。

#システムレベルの設定

##実行ファイルを時間ごとのディレクトリに置く方法

/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.hourly/
/etc/cron.monthly/

これらのディレクトリ内に置かれたファイルがいつ実行されるかは、/etc/crontabで設定する

vim /etc/crontab
00 * * * * root run-parts /etc/cron.hourly
00 0 * * * root run-parts /etc/cron.daily
00 0 * * 0 root run-parts /etc/cron.weekly
00 0 1 * * root run-parts /etc/cron.monthly

###run-partsコマンド 引数に指定したディレクトリ内のスクリプトを全て実行するコマンド

ルール 使用文字はアルファベットか数字かハイフンだけ。1文字目はアルファベットか数字 同一ディレクトリ内のファイル実行順序は、ファイル名の昇順で実行されます。

##/etc/cron.d/に置く方法

実行タイミングを個別に指定したい場合は/etc/cron.d/にcronの設定ファイルを配置する。

vim /etc/cron.d/examble
 01 * * * * root run-parts /etc/cron.hourly↲

#ユーザごとの設定 各ユーザのファイル crontab -eで編集するファイル。 複雑になるので使用しない方が良い。

/var/spool/cron/<ユーザ名>