Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。
DrupalのCronタスクをHetemlサーバで設定する
Drupalでは,定期的にcronジョブを実行する必要があります。その設定をHetemlサーバーで行う方法を記します。
スクリプトファイルの準備
Drupalに同梱されているスクリプトは,curlやlynxが必要ですが,Hetemlではそのコマンドは使えません。そこで,下記のコードを書いたスクリプトファイルを用意します。名前は cron.sh とします。(別に好みの名前で結構ですよ)
#/bin/sh cd /home/sites/heteml/users*/h/o/g/hoge/web/drupal/ /usr/local/bin/php5 cron.php
上記の赤字の部分は,Hetemlから教えられたあなたのディレクトリへのパスを含めたdrupalのインストールフォルダへのフルパスを指定します。このスクリプトは実行ファイルですので,公開ディレクトリから外れているappsフォルダにアップロードします。 appsフォルダはFlash Media Server専用だそうで,変なものは入れない方がいいんだそうです。ですので,myappフォルダを作成して,そこに保存することにしました。そして,オーナーに実行許可を与えます。
修正1) 以前,最後の行は php cron.php としていましたが,php5でないとパースエラーが出ることがありましたので,php5 に変更しました。
修正2) コマンドをphp5にした場合,sshで実行するとOKなのにcronで実行すると
php5: command not foundのエラーが出るのでコマンドにhetemlのSSH設定の記述を参照して,フルパス(/usr/bin/php5)を指定しました。
修正3) フルパスに/usr/bin/php5 を指定したのですが,やはりSSHでOKなのに,cronで実行すると
/usr/bin/php5: No such file or directoryのエラーが出ました。hetemlのcron設定のマニュアルページを参照してみると。
PHP5 をご利用の方は 「 #!/usr/local/bin/php5 」 と入力してください。という記述があったので,それにあわせてフルパスを /usr/local/bin/php5 に変更しました。
Cronタスクの設定
Hetemlのコントロールパネル > cron設定 を表示します。実行時間は任意に指定します。実行ファイルフルパスには,先ほど作成したスクリプトを次のように設定します。
/myapp/cron.sh
以上で,指定した時間にCronタスクが実行されるようになります。