Posted at

crondの使い方

More than 1 year has passed since last update.

参考にしたページ

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/<ユーザ名>