crontabでcronを操作
crontabコマンドでcronを操作します。
crontab [ -u ユーザ名 ] { -l | -r | -e }
[option]
-u: cronを設定するユーザーを指定
-l: cronを一覧で表示
-r: cronの設定を全消去
-e: cronを設定するエディタを起動する
cron設定手順
1. cronを設定するためのエディタを起動
-uオプション
で指定したユーザーで
cronを設定したコマンドが実行されます。
crontab -u root -e
2. cronの設定を記述
以下の書式に従って記述します。
分 時 日 月 曜日 <実行コマンド>
固定指定
以下のように設定すると、15時になる度に実行されます。
0 15 * * * echo "hello."
間隔指定
間隔を指定したい場合は、以下のようにします。
例では、5分毎に実行されます。
*/5 * * * * echo "hello."
複数指定
複数時間を設定したい場合はカンマ(,)で区切ります。
例では、午前2時5分と午前2時10分に実行されます。
5,10 2 * * * echo "hello."
範囲指定
複数指定よりも範囲で指定した方がいい場合があります。
以下のようにすると、指定範囲で実行できます。
例では、午前2時5分、午前3時5分、午前4時5分、午前5時5分に実行されます。
5 2-5 * * * echo "hello."
上記の書式で記述後、保存してエディタを閉じると設定完了です。
設定ファイルの読み込み
cronの設定を記述したファイルを読み込むことで、cronを設定できます。
echo '*/5 * * * * echo "hello."' > cron.conf
crontab cron.conf
crontabで、-rオプション
を誤ってつけてしまうと、設定が全て消去されてしまいます。
設定ファイルを読み込むことで、消してしまってもすぐに復旧でき、Gitなどでバージョン管理も行えます。
補足
- cronで実行されるコマンドは、実行ユーザーのホームディレクトリで実行されます。(都合が悪い場合は、実行するコマンド内で、
cd
しましょう。) - cronの標準出力、標準出力エラーは、mailコマンドを経由して実行ユーザーのメールボックスに送信されます。
- 標準出力を別の場所に吐き出したい場合は
リダクレクト
すると良いです。