定刻にhtmlファイルにあるform送信を実行する方法
cronを使って定刻にhtml(php)ファイルのform送信ボタンをクリックしたのと同じことをさせる。
システム環境
OS: debian12
webServer: apache2.4
php: php7.4
規定のエディター: Emacs
事前準備
php.iniもしくは.htaccessでhtmlをphpとして動作するように設定しておく。
ここでは.htaccessファイルに下記を追記する。
(htmlファイルを使わずphpで実行するなら必要ない)
AddType application/x-httpd-php .html
crontabの書き方
$ crontab -e と押し下げると規定に設定してあるエディターで開かれる。ここではEmacs.
crontabの書き方
月〜金の16時に実行する場合
0 16 * * 1-5 CRON=1 /usr/bin/php7.4 /webserver/filename.html
環境変数にCRON=1と入れたのは、filename.htmlの実行させたいスクリプトはcronからの呼び出し時のみ実行させたいため。
filename.html
if (getenv('CRON') == 1 ) {
cronからの呼び出し時のみ実行させたいスクリプト。
}
参考サイト
cronからのアクセスだけを実行処理するPHP設定
尚、cronはwebサーバーにはデフォルトでインストールされているが、インストールされていないときはインストールする。
# apt-get install cron
はじめてcrontab -e コマンドを使うとき、インストールされているエディターの選択画面がでるのでその中から使いたいエディターを選ぶ。