サーバー管理の現場において今まで役に立ったことをまとめた小ネタ集です。お役に立てれば幸いです。なお、不完全な情報や時代遅れになってしまった情報もあるかもしれませんが何卒ご了承ください。

Linux : cronを使って自動実行をする方法

作業例(CentOS6の例)

cronを使うと指定した日時(間隔)でコマンドを自動実行することができます。
crontabが入っていない場合はインストールしましょう。
yum install crontabs
設定してみましょう。
crontab -e
を実行するとテキスト編集に入ります。
以下の書式にて記述してください。

分 時 日 月 曜日 (コマンド)

分は、0~59
時は、0~23
日は、1~31
月は、1~12
曜日は、0~7 (0=日、1=月、2=火、3=水、4=木、5=金、6=土、7=日)
でそれぞれ指定できます。
また、「*」で「すべて」を表現します。

毎時30分にcpコマンドを実行する例
30 * * * * cp /var/www/html /tmp/backup

毎日5時0分にcpコマンドを実行する例
0 5 * * * cp /var/www/html /tmp/backup

30分おきにphpプログラムを実行する例
*/10 * * * * php /var/automail.php

毎日6時と18時にphpプログラムを実行する例
0 6,18 * * * php /var/automail.php


ちなみに、cronの実行ログは、/var/log/cron に蓄積されています。