cronを設定する前の注意点

cronを設定すると、サイト上の特定のコマンドやスクリプトを指定した時間に自動的に実行させることができるので、とても便利な機能です。

この機能を利用すれば、毎日指定した時間に新しい情報を取得しWebサイトの情報を自動的に最新のものに更新させるといったこともできるのです。

しかし、この機能を利用するにはコマンドなどに対するある程度の知識を持っている必要があります。本ページではコマンドなどの細かな使い方については触れません。あくまでcronの設定方法についてのみ記載します。

あともう一点、重要な注意点があります。

それは、cronを実行させる間隔です。例えば一度実行させると、5分間処理が動作し続けるスクリプトをcronで実行するとします。cronの最小指定間隔は1分です。もし、実行間隔を1分で指定し、このスクリプトをcronで実行させると、最初のスクリプトの処理が終わる前に次の実行間隔がくるため、複数の処理を実行させることになってしまいます。

5分後には5つの処理が平行して動くことになります。

ではいったいこれの何が問題なのか?

CPUやメモリの負荷です。共有サーバーの場合、サーバーを共有している他の方の影響も考慮し、一定時間負荷が高い状況が続くと最悪アカウントを停止されることがあります。負荷が高いスクリプトや、処理時間が長いスクリプトを動かす際はcronの実行間隔に気を付けるようにして下さい。

HostGatorは、cron設定を無制限に作成することができるのですが、この際も負荷に注意してください。cronの実行間隔を広めにとっていても他に作成しているcron設定と実行時間が重なってしまうと結局、負荷が高まる原因にもなります。

cronの設定方法

(手順1)HostGatorの管理画面にログイン
まずは、HostGatorの管理画面にログインして下さい。ログイン後、画面下部に『Advanced』というカテゴリがあります。管理画面を日本語表記にしている場合は『高度な』となっていると思います。

そのカテゴリ内に『cron jobs』アイコンがあるのでクリックして下さい。

cron-jobs-setting-1


(手順2)Cron Emailの設定
Cron Emailの欄に受信可能なメールアドレスを入力し、『Update Email』ボタンを押します。Cronが実行された場合、実行完了メールがここで設定したメールアドレス宛に送られてきます。

cron-jobs-setting-2


(手順3)Cron Jobの作成
cron-jobs-setting-3

ここが少し分かり難い所なので、各入力欄の説明を簡単に記載しておきます。

Common Settings:
下の「Minute」や「Hour」、「Day」といった欄を入力するのが面倒な場合は、このリストボックスから選択します。このリストボックス内には、いくつかの代表的な設定が用意されており、選択するとそれに対応した時間が自動的に下の各欄に値が入力されます。

Every 15 minutes (*/15 * * * *)
15分間隔でコマンドを実行されます。

Twice an hour (0,30 * * * *)
毎時0分と30分にコマンドが実行されます。要は、1時間に2回(30分間隔)実行されるということです。
ex.)1:00、1:30、2:00、2:30

Once an hour (0 * * * *)
毎時0分にコマンドが実行されます。要は、1時間に1回実行(1時間間隔)されるということです。
ex.)1:00、2:00、3:00

Twice a day (0 0,12 * * *)
0:00 と 12:00 の1日2回コマンドが実行されます。

Once a day (0 0 * * *)
0:00 の1日1回だけコマンドが実行されます。

Once a week (0 0 * * 0)
毎週日曜日の0:00 にコマンドが実行されます。要は、週に1回だけ実行されるということです。

1st and 15th (0 0 1,15 * *)
毎月1日と15日の0:00 にコマンドが実行されます。要は、月に2回だけ実行されるということです。

Once a month (0 0 1 * *)
毎月1日の0:00 にコマンドが実行されます。要は、月に1回だけ実行されるということです。

Once a year (0 0 1 1 *)
毎年1月1日の0:00 にコマンドが実行されます。要は、年に1回だけ実行されるということです。

※注意
HostGatorはアメリカのレンタルサーバーなので、日本との時差があります。日本の方が15時間進んでいます。(3月の第2日曜日から11月の第1日曜日は、サマータイム期間になるので進み時間は15時間ではなく14時間になります。)

よって、cronで毎日3:00に実行するように設定しても実行されるのは日本時間の18時になります。(サマータイム期間は17時)

Common Settingsを利用しない場合は、これ以降の欄を自分で入力します。『Minute』~『Weekday』の各欄にはテキストボックスとリストボックスの2つが用意されていますが、双方で連動しています。テキストボックスに値を入力した場合、リストボックス側はそれに対応する値に自動的に変更されます。リストボックスから値を選択した場合は、テキストボックス側にそれに対応した値が自動的に入力されます。入力ミスが防ぐ為には、リストボックスから値を選択するようにした方がいいでしょう。

Minute:
Every 15 minutes (*/15)
15分間隔でコマンドを実行されます。

Every 15 minutes (*/30)
30分間隔でコマンドを実行されます。

00~59
実行される「分」を指定します。指定した分になるとコマンドが実行されます。

Hour:
Every hour(*)
毎時実行されます。

Every other hour(*/2)
2時間間隔で実行されます。

Every 3 hour(*/3)
3時間間隔で実行されます。

Every 4 hour(*/4)
4時間間隔で実行されます。

Every 5 hour(*/5)
5時間間隔で実行されます。

Every 6 hour(*/6)
6時間間隔で実行されます。

Every 12 hour(0 12)
12時間間隔で実行されます。

12:00 a.m. ~ 11:00 p.m.
指定した時間に実行されます。

Day:
Every day(*)
毎日実行されます。

Every other day(*/2)
2日間隔で実行されます。

1st and 15th (1,15)
1日と15日に実行されます。

1st ~ 31th
指定した日にちに実行されます。

Month:
Every month(*)
毎月実行されます。

Every other month(*/2)
2ヶ月間隔で実行されます。

Every 3 month(*/4)
4ヶ月間隔で実行されます。要は、1年間で3回実行されるということです。

Every 6 month(1,7)
1月と7月にコマンドが実行されます。要は、6ヶ月間隔で年に2回実行されるということです。

January ~ December
指定した月に実行されます。

Weekday:
Every weekday(*)
毎週実行されます。

Mon thru Fri (1-5)
月曜日から火曜日の5日間実行されます。

Sat and Sun (6,0)
土曜日と日曜日に実行されます。

Mon, Wed, Fri (1,3,5)
月水金に実行されます。

Tues, Thurs (2,4)
火曜日と木曜日に実行されます。

Sunday ~ Saturday
指定した曜日に実行されます。

Command:
実行したいコマンドを記載します。

一通りの入力が終われば、『Add New Cron Job』ボタンを押して下さい。下の『Current Cron Jobs』のリストに作成したCron Jobが追加されます。