Custom Search

JITAKU_SVR_Wiki

cron書式

*/1 * * * * /bin/rm -r / > /dev/null 2>&1
=>1分ごとに / をrmする。エラーなど何があっても通知してこない。

リダイレクト(>)以降の意味
/dev/null
=>実行結果をメールで自分自身に送信する要になっているが、メールを送ってほしくない場合は/dev/nullにリダイレクトさせる
この場合は標準出力エラーがあった場合のみメールで通知する。

2>&1
標準エラーがあってもメールをさせたく無い(絶対に知らせないで欲しい)場合に使用する。

良く分からなければおまじない程度に付けておくこと。



cron時間指定

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分おきに実行 [#fa46a944]
* 1 * * *         1:00から 1:59まで 1分おきに実行 [#id90517a]
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に実行

とっても参考になったURL:http://miya0.dyndns.org/pc/settei/crontab.html

cron編集コマンド

# crontab -e

cron確認コマンド

# crontab -l

注意点

cronで特定の時間でスクリプトを回したいときに注意することとして、環境変数がある。
環境変数を読み込めなくエラーを返すことがあるので、スクリプトを作成する場合には絶対パスで書いておいた方が無難。
例)

#!/bin/sh

/bin/echo "hello"

cronの結果をメールで送信したい

cronの出力方法を変更する。
上記での設定ではエラーもすべて/dev/nullに入ってしまうため、結果がわからない。

MAILTO=foo@hogehoge.com
*/1 * * * * /bin/ls -l /root > /dev/null

こうすることで、エラーが発生した場合にはMAILTOに書かれたアドレスへメールを送信する。

注意
標準出力・標準エラー出力を制御しない場合には、そのcronを実行したユーザのmailboxにメールを送信する。
毎分実行するようなバッチで、更に標準出力を制御しない場合、ディスクがメールで逼迫してしまうことが多々ある。

必要のない場合には必ず/dev/nullに捨てるようにする。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-17 (木) 17:10:37 (707d)