|
Cron によるプログラムの自動実行本ページは 2008-04-01 更新されました
vps サーバー v3 では、決められた時間にコマンドを自動実行する cron デーモンが使えます。 crontab の作成user_name ユーザー権限で crontab コマンドを使って設定を行った場合は、FreeBSD の場合 /var/cron/tabs/user_name、Linux の場合 /var/spool/cron/user_name に設定が保存されます。 crontab の環境変数設定は、以下のようになります。 NAME = VALUE cron の環境変数には SHELL、LOGNAME、USER、HOME が含まれます。 MAILTO = "" cron table 登録は 5 個の時間欄と、それに続くコマンド欄となります。 欄 可能な値 ----- -------------- 分 0-59 時 0-23 日付 1-31 月 1-12, jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec 曜日 0-7, sun, mon, tue, wed, thu, fri, sat (0 = "sun", 7 = "sun") 各欄にはアスタリスク (*) が使えます。 パラメータを含むことのできるコマンド指定が cron table の 6 番目で最後の欄になります。
以下は、vnukelog コマンド実行の事例です。 # cron によって生成された全ての出力が MAILTO で指定された # アドレス "webmaster@mycompany.com" に送付されます MAILTO="webmaster@mycompany.com" # "vnukelog" コマンドを毎日午前 1:15 (15 1) に実行します 15 1 * * * /usr/local/bin/vnukelog # "vnukelog" コマンドを毎月一日 (1) 午後 11:40 (40 23) に実行します 40 23 1 * * /usr/local/bin/vnukelog # "vnukelog" コマンドを月曜日から金曜日まで (1-5) # 午前 9 時と午後 5時 (9,17) 台の # 前半 30 分間に 10 分おきに (0-30/10) に実行します 0-30/10 9,17 * * 1-5 /usr/local/bin/vnukelog # "vnukelog" コマンドを毎年一月 (jan) の日曜日毎 (sun) # 午前四時、午前八時、正午、午後四時、午後八時、(0 */4) に実行します # 00:00 と 24:00 のどちらにも実行されません 0 */4 * jan sun /usr/local/bin/vnukelog # "vnukelog" コマンドを毎月 (*) 毎週金曜日 (fri) かつ一日と十五日 (1,15) # 午前 4:30 (30 4) に実行します 30 4 1,15 * fri /usr/local/bin/vnukelog # "vnukelog" コマンドを毎年八月十九日 (19) (8)、(19) (aug) # 零時 (0 0) に実行します 0 0 19 8 * /usr/local/bin/vnukelog 0 0 19 aug * /usr/local/bin/vnukelog crontab の登録ユーザーのホームディレクトリに cronjobs の名前で設定を保存した場合、以下の例のように crontab コマンドを実行してシステムに登録する必要があります。 # crontab ~/cronjobs 上記によって、~/cronjobs が cron システムデーモンに登録されます。 # crontab -l root ユーザーによる、他のユーザーの登録済み内容の表示は、以下コマンドで行います。 # crontab -u USER -l crontab -e による cron の作成と登録Shell 権限のある user_name の cron を crontab [-u user_name] -e コマンドで作成・登録することができます。 上記のファイルは、デフォルトで以下のパスに以下の名称で保存されます。 FreeBSD /etc/crontabシステムデフォルトの cron が /etc/crontab ファイルに登録されています。 以下が root ユーザーにより newsyslog が指定されている例です。 0 * * * * root newsyslog 詳細説明以下のコマンドで cron と crontab のマニュアルが読めます。 # man cron Email: support@speedex.ne.jp
|