cronの設定の仕方は、基本的にはAIXとほぼ同じ。
詳しくは以下のページ参照。
http://g-network.boo.jp/wiki/2017/03/post-259/
AIXのcronとは異なる部分について以下に記載する。
・全ユーザのcron設定の格納場所
/var/spool/cron/(ユーザ名のファイル)
・crontabコマンドの書式
crontab [-u ユーザ名] [-e | -l]
-e 修正する
-l 設定内容を表示する
・cronの結果をメールで飛ばさないようにする方法
cronには実行した処理に出力があった場合にメールを送信する機能がデフォルトで入っている。そのため5分おきに実行し続けるような処理の場合にメールの容量がどんどん増えてしまうことがあるので、メールを飛ばさないようにすることが多い。
メールを飛ばさないようにする方法には以下の3つがある。
①各cronの設定行に、> /dev/null 2>&1 をつけて何も出力しないようにする
②設定ファイルのMAILTOを「MAILTO=””」にする。設定する箇所は以下の通り複数ある。
/etc/crontab
/etc/cron.d/0hourly
/var/spool/cron/(ユーザ名)
③crondの設定を変える
/etc/sysconfig/crondのCRONDARGSを、「CRONDARGS=”-m off”」とする。
設定後にcrondを再起動する必要がある。
service crond restart
※ちなみにメールが飛ばないようにpostfixのデーモン停止しておけばいいのではと思うかもしれないが、そうしたとしてもcrondはかまわずmailを投げてしまう。その結果、/var/spool/postfix/maildropにキューのファイルがたまり続けてしまう。放っておくとそのうちinodeが枯渇して、そのファイルシステムでファイルが作れなくなる(経験済みw)
・cron設定のリストア
/var/spool/cron/(ユーザ名)のファイルのバックアップを取得してあるならば、以下のコマンドで簡単にリストアできる。
crontab (バックアップファイルのパス)
これで設定は元に戻り、さらに即時反映される。
コメント