Cron記述方法
20150110

確認環境
 CentOS7.x
 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
→追記
Cron実行時間を固定に変更(CentOS6.x/CentSO7.x)
◆noanacronを導入

[root@Server ~]# yum -y install cronie-noanacron
[root@Server ~]# vi /etc/cron.d/dailyjobs

# run-parts
02 4 * * * root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.daily
22 4 * * 0 root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.weekly
42 4 * * 1 root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.monthly
任意の時間に変更

◆anacronを削除 [root@Server ~]# yum -y remove anacron

以上