PHPで作成したプログラムをcron設定し自動実行する方法
2024/05/22
cronの設定方法。サーバー側での設定とPHP側での書き方を以下にメモ。
PHP側(cron.php)
<?php
$hoge = array(0 => 'aaa', 1 => 'bbb', 2 => 'ccc');
$body .= "<?\n \$array = " . var_export($hoge,true) . ";\n?>";
file_put_contents('/var/www/html/php/test.php', $body);
?>
配列の内容をtest.phpというファイルに出力するというもの。尚、cronでパスを指定する場合は絶対パスにする。
サーバー側の設定
サーバにSSH接続し以下コマンドでPHPのパスを調べる。
which php
以下のようにパスが表示される筈なのでメモっておく。
/usr/bin/php
以下コマンドでcronが動いているか調べる。
/etc/rc.d/init.d/crond status
以下のように表示されればOK。
crond (pid ***)を実行中...
以下でcronの設定ファイルを開く。
vi /etc/crontab
以下を追記する。
分 時 日 月 曜日 実行ユーザー PHPパス 実行するPHPのパス
cronの記入例
00 15 * * * root /usr/bin/php /var/www/html/php/cron.php
上記の場合だと毎日15時にcron.phpを実行する設定になる。
リファレンス
https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-cron-expressions.html
関連記事
-
-
CentOSから他のOSに移行が必要な理由とCentOSの状況について
AlmaLinuxにLAMP等、諸々環境構築する記事を書いたがそもそも「どうして ...
-
-
AlmaLlinux8にsysstatを導入し、svgファイル出力したものをブラウザから閲覧する方法
以前CentOS系にsar(sysstat)を導入しSysstat Graphi ...
-
-
HTTP応答ヘッダーにApacheやPHPのバージョン等不要なデータを出力させないようにする方法
当サイトをFirefoxの開発者ツールからチェックするとHTTP応答ヘッダーに「 ...
-
-
Apacheのログを見やすくする(ApacheLogViewer)
サーバのリソース監視をしていると寝ている時間にロードアベレージが跳ね上がっていた ...
-
-
MySQLが起動も再起動もできない際の対応方法
サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...