• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPからcronを編集したい)

PHPからcronを編集する方法

このQ&Aのポイント
  • PHPからcronを編集する方法について解説します。
  • ブラウザから時間を指定してリクエストを投げると、指定したPHPプログラムを実行することができます。
  • しかし、cronにジョブを登録しても実行されない場合があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

他の方が指摘しているように直接ファイルを編集しては、ジョブのキューに入らないため  crontab -u ユーザ 外部ファイル名(tmpに書き込むなど) を実行するようにしないと動作しません。 /etc/passwd を vi 等で直接編集しては駄目(vipwでないと駄目)なのと同じような理由です。

jimascript
質問者

お礼

shell_exec("echo {$pass} | sudo -S crontab -u {$cron_user} {$root_dir}/craw/crontab.txt"); で無事正常に動作するようになりました。 1行でスッキリしましたし満足です。 ありがとうございました。

その他の回答 (1)

  • molt461
  • ベストアンサー率75% (3/4)
回答No.1

はじめまして 件のジョブがなぜ動かないのかはわからないのですが、 crontabを通した更新ならうまくいくとのことなので別解を… crontabにはテキストから設定を読み込む方法があります。 crontab file で読み込むことができますので crontab {$root_dir}/craw/crontab.txt とすればcrontabを通してcronの更新が可能ではないかと推測致します(今手元に実行環境が無いので確認できていません…すいません。) crontab file とした場合fileの内容で完全に上書きされます。

jimascript
質問者

お礼

crontab file というのを知りませんでした。参考にさせて頂きます。 ありがとうございました。

関連するQ&A