cronの設定方法ー指定時刻に自動的にジョブを起動したいときに使用

2020年6月6日

Windowsではスケジューラー機能でバッチコマンドを時間指定に起動したりしますが、AIXで指定時刻に自動的にジョブを起動したいときはcronデーモンを使います。
cronが処理するジョブは、crontabファイルで管理されています。

このページでは、cronを使ったジョブの登録方法をご紹介しています。

<目次>

cronデーモンの起動

ほとんどの場合、cronデーモンは、/etc/inittabから起動されるようになっていますので、あえて起動する必要はありません。AIXが起動された時には、すでに動いています。

crontabファイルのフォーマット

cronが処理するジョブは、crontabァイルで管理されています。
crontabファイルのフォーマットは、以下のようにスペースで区切られています。

分␣ 時␣ 日␣ 月␣ 曜日␣ 実行ジョブ

␣はスペースの意味です。
の説明ですが、起動時刻の指定はスペースで区切られていて、

<指定できる値の範囲>
分:0-59
時:0-23
日:1-31
月:1-12
曜日:0-6(0=日曜日、1=月曜日・・・)

crontabの内容確認

crontabファイルの内容を確認するときは、以下のようにやります。

#crontab  -l

#
0 11 * * * /usr/bin/errclear  -d S,O 30
0 12 * * * /usr/bin/errclear  -d H 90

crontabの編集

crontabファイルを編集する時は、以下のように行います。

#crontab  -e

crontabファイルはバイナリーなので、viエディターなどでは編集できません。
必ずcrontabコマンドを使いましょう。croneデーモンは、crontabの内容をメモリー上で保持していますので、cronコマンドで編集後はすぐにcronに反映されます。

crontabの設定例

<例>
0 0 * * 1-5 backup -o -u -f /dev/rmt0

バックアップが月曜日から金曜日の0時0分に実行されます。

* はすべての範囲を指定する意味です。
ハイフンで範囲を指定できます。

<例>
0,15,30,45 8-17 * * 1-5  /usr/bin/dmy.ksh

dmy.kshが、月曜日から金曜日の8時から17時の間に15分おきに実行されます。