今回は cron
の使用方法について説明していきたいと思います。 CentOS
などの Linux
系の OS
を使用していると、必ず必要となる知識なので基本的な使用方法だけでも覚えておきたいですね。
cron とは
cron
とは、定期的にコマンドを実行させるためのプロセスです。コマンド、シェルスクリプト、各種プログラムを実行できます。
Web サーバや DB サーバだと、 DB やソースのバックアップ等、定期的に実行が必要な処理を登録しておくことで開発にかかる手間を軽減してくれます。
サーバの管理をやってると、定期的に処理を実行しないといけないことが多々ありますが、 cron
を設定することで毎回手作業で行っていたものを自動でやってもらえるようになります。
前提条件
cron
を使用するためには、 crond
が起動していることが前提となります。
下記コマンドを実行し、 crond
が起動しているか確認します。
$ sudo /etc/rc.d/init.d/crond status
「 crond (pid xxxx) を実行中...
」と表示されれば crond
が起動しています。
crond
が起動していない場合は下記コマンドを実行し、 crond
を起動します。
$ sudo /etc/rc.d/init.d/crond start
cronの登録方法
cron
を登録するには crontab
コマンドを利用します。
$ crontab -e
# もしくは
$ sudo crontab -e
上記コマンドを実行すると、 crontab
が編集可能になります。
crontabにcronを追加する場合は以下のフォーマットを使用します。
分 時 日 月 曜日 コマンド
分 | 0〜59の数字 |
時 | 0〜23の数字 |
日 | 1〜31の数字 |
月 | 1〜12の数字 |
曜日 | 0〜7の数字(0,7は日曜日、1〜6が月〜金) |
コマンド | フルパスもしくはカレントディレクトリからの相対パス パスが通っていれば直接コマンドを指定できます。 |
# サンプル
*/30 * * * * sample1.sh # → 30分おきに実行する
* 3 * * * sample2.sh # → 毎日3時に実行する
*/5 * * * * sample3.sh # → 5分おきに実行する
登録したcronの確認方法
現在登録されている cron
の一覧を表示するには、下記コマンドを実行します。
$ crontab -l
# もしくは
$ sudo crontab -l
上記コマンドを実行すると、登録された cron
を一覧で確認することができます。
コメント
[…] ちなみにCentOSのLinuxカーネルもこれで更新されます。次に、[cron]コマンドと言う、自動的に定期的に実行されるコマンドを設定して、一日一度システムを含む、全体パッケージの自動更 […]