定期的にCGIを実行する方法に cron があるが、主に使っているレンタルサーバはcronが禁止されている。幸い他に、cronが使えるさくらインターネットのサーバのアカウントを持っていたので、そこから呼び出すようにしてみた。
他にも方法はいろいろあるはずだが、調べるのも面倒なので以下のようにPHPのreadfile()を使って成功。
●さくらインターネット・サーバの設定
①以下をhogehoge.phpとして755属性で保存。 引数には、別サーバにある目標のCGIまでのURLを記載。
readfile("http://www.*****.jp/cgi-bin/target.cgi");
?>
?>
②サーバコントロールパネルのcron設定。hogehoge.phpを定期起動
cd /home/(アカウント)/www/; /usr/local/bin/php -f /home/(アカウント)/www/hogehoge.php
・実行日時 (毎日8時45分と17時45分に実行の場合)
月 = *、日 = *、時 = 8 , 16、分 = 45、(曜日=無設定)
月 = *、日 = *、時 = 8 , 16、分 = 45、(曜日=無設定)
●相手方のCGIの設定
特に設定は必要ないが、戻り値はエラーの有無だけを返すように変更。