プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になります。

PHP(HTML)のフォーム上から、クーロンの実行日時を設定したいと思っています。
いくつか同じような質問など参考にしたのですが、いまいち分からず困っています。

理解できた内容ですが、
・shell_execを使ってシェルコマンドをたたく。
・crontabに、実行したい日時とファイルを記述する。
程度です。

クーロンのテストがてらターミナルからcrontabを編集して、「指定した日時に音楽ファイルを実行する」ことはできました。

PHPでcrontabを編集するにはどのようにすればいいのでしょうか??

ざっくりとした内容で申し訳ありませんが、詳しい方どうかご教授宜敷くお願い致します。

開発環境:
Mac OS 10.6.8
PHP 5.2.17

A 回答 (3件)

私もmacは詳しくないですけど、私だったらcronはある程度頻繁に起動させて


phpで編集可能な設定ファイルを読み込ませて、その内容に合わせて
メインのスクリプトを起動したりしなかったりさせます。

セキュリティ的にもソッチのほうが堅そうですし
(最悪でも動作回数が変わるだけ)

crontabでファイル指定で読み込ませるのもあったと思いますが、
上記のやり方の方が手間がなくてスムーズだと思います。
    • good
    • 0
この回答へのお礼

アドバイス通り、
・cron設定ファイルを用意
・実行したいコマンドをphpで設定ファイルに書き込む
・shell_exec("crontab 設定ファイルパス")を実行
でできました!

有り難うございました!!

お礼日時:2013/07/12 18:13

#1です。



ちなみにcronをGUIでWEB画面上から編集したいというだけであれば
webminなどの管理ツールを使う手もあります
    • good
    • 0

Macの仕様には疎いので一般的な話で恐縮ですが



cronの設定ファイルは/var/cron/tabsに実行ユーザーごとにファイルが用意されます
通常のファイルI/Oで処理すれば書き換えは可能でしょう

ただし、設定ファイルの読み書き属性はrootにのみ許可されるものなので
sudoなどかませないと編集できないと思います。

cron自体間違った運用をするとシステムに思わぬ過負荷をかけますので
phpからの編集ではなく、「crontab -e」など所定の手続きで編集されることをお勧めします。
    • good
    • 0
この回答へのお礼

アドバイス頂き有り難うございます!

ご指摘された方法は少し難しくできなかったので設定ファイルを利用した方法で
実現しました。

#1さんの方法でもいずれ挑戦しようと思います^^

お礼日時:2013/07/12 18:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!