とある用件で、PHPのスクリプトを定期的に実行させようと思ったのだけれど、上手くいかなくて困ってた。前にも設定したことがあったけど忘れてしまっていたし・・・というわけで、メモを兼ねて方法をまとめてみた。
問題は「実行コマンド」の欄をどう入力するかだけど、色々調べてみたら以下のように設定すれば良いらしい事を発見。
例: /home/アカウント名/www/abc/cron.phpを指定したい場合
cd /home/アカウント名/www/abc ; /usr/local/bin/php cron.php
(CRONや.mailfilterに記述したプログラムが動作しません。より)
要するに、まずカレントディレクトリをスクリプトが置いてある場所に変更してから実行するという事でした。以下のような絶対パスを指定する方法は上手くいかないようだ。
例: 上手くいかない例
/usr/local/bin/php /home/アカウント名/www/abc/cron.php
ちなみに、実行したいスクリプトを直接指定する方法でも出来ます。ただしこの場合は、1行目に「#!/usr/local/bin/php -q」などと書いて、PHPを実行する事を示す必要があります。
例:直接指定する例
/home/アカウント名/www/abc/cron.php
でもこの方法だとちょっと面倒なので、やっぱり上で書いたさくら公式の方法を使うのが良いようです。
ちなみに、CRON実行後にpostmasterへメールを送信したくない場合は、コマンドの末尾に「 > /dev/null」を追加すると、メールが送信されなくなります。
というわけで、ちょっとしたメモでした。