- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPからcronを編集したい)
PHPからcronを編集する方法
このQ&Aのポイント
- PHPからcronを編集する方法について解説します。
- ブラウザから時間を指定してリクエストを投げると、指定したPHPプログラムを実行することができます。
- しかし、cronにジョブを登録しても実行されない場合があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
他の方が指摘しているように直接ファイルを編集しては、ジョブのキューに入らないため crontab -u ユーザ 外部ファイル名(tmpに書き込むなど) を実行するようにしないと動作しません。 /etc/passwd を vi 等で直接編集しては駄目(vipwでないと駄目)なのと同じような理由です。
その他の回答 (1)
- molt461
- ベストアンサー率75% (3/4)
回答No.1
はじめまして 件のジョブがなぜ動かないのかはわからないのですが、 crontabを通した更新ならうまくいくとのことなので別解を… crontabにはテキストから設定を読み込む方法があります。 crontab file で読み込むことができますので crontab {$root_dir}/craw/crontab.txt とすればcrontabを通してcronの更新が可能ではないかと推測致します(今手元に実行環境が無いので確認できていません…すいません。) crontab file とした場合fileの内容で完全に上書きされます。
質問者
お礼
crontab file というのを知りませんでした。参考にさせて頂きます。 ありがとうございました。
お礼
shell_exec("echo {$pass} | sudo -S crontab -u {$cron_user} {$root_dir}/craw/crontab.txt"); で無事正常に動作するようになりました。 1行でスッキリしましたし満足です。 ありがとうございました。