Cron記述方法
20111212
確認環境
CentOS6.x
CentOS5.x
Cron
→CentOS6.xのcronはmin間隔でのディレクトリが用意されておりますが、
従来の方法でも可能な事を確認しています。
◆設定ファイルを開く
[root@Server ~]# vi /erc/crontab
SHELL=/bin/bash
設定変更の必要なし
PATH=/sbin:/bin:/usr/sbin:/usr/bin
設定変更の必要なし
MAILTO=root
実行結果を送信するメールアドレスを指定。デフォルトはroot宛
「MAILTO=""」とする事で全ての実行結果をメールで送信しなくなります。
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
実行するタイミングの指定
実行するタイミングの書式
分 時 日 月 曜日 ユーザー コマンド
05 3 12 1 * root bash /root/test.sh
この場合、1月12日3時05分(年1回)に/root/test.shをrootユーザーにてbashで実行
00 00 1 * * root /etc/rc.d/init.d/named restart
この場合、1日0時0分(月1回)にrootユーザーにてnamedを再起動
12 10 * * 1 centos bash /root/test.sh
この場合、月曜日10時12分(週1回)に/root/test.shをcentosユーザーにてbashで実行
05 5 * * * root bash /root/backup.sh >/dev/null 2>&1
この場合、5時05分(1日1回)に/root/backup.shをrootユーザーにてbashで実行
また、実行結果をメールにて送信しない。(> /dev/null 2>&1)
バックアップの自動化の設定
*/5 * * * * root bash /root/DNS.sh >/dev/null 2>&1
この場合、5分1回に/root/DNS.shをrootユーザーにてbashで実行
22分に1回実行させたい場合は*/5を*/22に変更するだけです。
また、実行結果をメールにて送信しない。(> /dev/null 2>&1)
簡易DDNSの設定
◆実行結果のメール送付について
一括でメール送信を止める場合
# MAILTO=root
MAILTO=""
一部のみメール送信を止める場合
コマンドの最後に「 >/dev/null 2>&1」を付ける。
数分に1回実行させる場合には必須です。
◆mailコマンドやシェルスクリプト実行時に文字化けしてしまう場合
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
export LANG=ja_JP.UTF-8
→追記
以上