プログラムを定期的に実行するには
バックアッププログラムのように、定期的にプログラムを実行する場合は、cronを使用する。一定の時間後にプログラムを実行するにはで紹介したatコマンドは、プログラムを実行するのが一度だけという点が、cronとは異なる。
cronを使用するには、crondというデーモンが起動していなければならない。ntsysvコマンド(Red Hat系)やturboserviceコマンド(Turbolinux)で確認しておく。cronの設定は、crontabコマンドで行う。以下のコマンドを実行すると、viが起動して、cronの設定ファイルが開かれる。
$ crontab -e |
cronの設定ファイルは、
* * * * * コマンド名 |
という書式になる。最初の5つの「*」は、それぞれ分、時、日、月、曜日を表す。また、「*」は値を設定していないことを表す。値は「,」で区切って複数指定することもできる。曜日は、0が日曜日で6が土曜日になる。
例えば、毎月1日と15日の午前5時30分に/usr/local/bin/mycommandコマンドを実行するには、
30 5 1,15 * * /usr/local/bin/mycommand |
とする。
保存してviを終了させれば、cronの設定は終了だ。設定した内容を確認するには、-lオプションでcrontabコマンドを実行する。
$ crontab -l |
一度設定したcronを訂正するときも、-eオプションを付けてcrontabコマンドを実行する。また、複数の設定を行うときは、2行目以降に続けて設定を行えばいい。
cronの削除は、以下のコマンドを実行する。
$ crontab -r |
なお、指定したコマンドが実行結果を表示するタイプだった場合は、atコマンドと同様に、メールでその内容がcronを指定したユーザーあてに送られる。