私はサーバー上でUbuntuを使用しています。私はアクセスするためにパテを使用しています。私は私のPHPサイトのcronjobsを作成したい。これどうやってするの?Ubuntu上のCronジョブphp
答えて
あなたがあなたのPHPのサイトには、いくつかの定期的なタスクを実行することを意味している場合、2つの方法があります。
1)cronを使用して特定のページを定期的に取得します。これは、テキストベースのブラウザ(例: Lynx。あなたはこのようなあなたのスクリプトを引っ張っ:
* * * * * /usr/bin/lynx http://yourhost.com/cron.php -dump > /dev/null
(これは、毎分、それを呼び出します、あなたのアプリケーション内で独自のスケジュールを構築することができますこの方法。)
2)あなたは、コマンドラインを使用してスクリプトを呼び出しますPHPインタプリタ:
* * * * * /usr/bin/php /path/to/cron.php > /dev/null
一般に、溶液2が良いです。ただし、ボックスにアクセスする必要があります。 cronをホストにインストールできない場合、ソリューション1のcronは別のホストからトリガーされます。
また、コマンドラインバージョンのphpを使用している一般的な落とし穴に注意してください。 debian(そして他のシステムの場合もあるかもしれませんが)では、cgi、cli、mod_php用に別々のphp.iniファイルがあるかもしれません。設定をカスタマイズした場合は、コマンドラインphpが正しいものを使用していることを確認してください。私はいくつかのベンチマークを作っDIMOことにより、コメントに応えて
/usr/bin/php -i | less
:あなたはでこれをテストすることができます。
kbsilver:temp kbeyer$ time . wget.sh
real 0m14.223s
user 0m2.906s
sys 0m6.335s
(Command: wget -O /dev/null "localhost/test.php"; 2> /dev/null)
kbsilver:temp kbeyer$ time . lynx.sh
real 0m26.511s
user 0m5.789s
sys 0m9.467s
(Command: lynx -dump "localhost/test.php"; > /dev/null)
kbsilver:temp kbeyer$ time . php_cli.sh
real 0m54.617s
user 0m28.704s
sys 0m18.403s
(Command: /opt/local/bin/php /www/htdocs/test.php > /dev/null)
Serverがする(Mac OS X上)APCとlighttpd
、php(fastcgi)
次のとおりです。私は(これは単にエコー "テスト")オオヤマネコ、wgetのとPHP-CLIで1000回単純なローカルPHPスクリプトと呼ばれます。
確かに、wgetはスピードに関して仕事のための最良のツールです。
したがって、php-cli
の結果は、他の方法が既に実行中のPHPスレッドをopcodeキャッシュで再利用するので、それほど驚異的ではありません。
php-cliを使用する唯一の本当のメリットはセキュリティです。外部からはスクリプトをdocrootの外に置くことはできないため、セキュリティはセキュリティになります。
(このテストは明らかに100%正確ではありませんが、違いは、私の意見ではかなり明白です)
私はwgetがlynx-dumpよりも優れたツールだと思います – dimo414
私はあなたのPHPサイトをバックアップすると思いますか?使用してのcrontabを編集します。
crontab -e
これは私が挿入モード用プレス、あなたがcrontabファイルを編集できるVIのインスタンスを起動します。その後、例えば、cronのエントリが実行され、その時点で実行するコマンドになるときのために情報を配置する必要があります。
30 10 * * * tar -zcvf ./myphpsite.tar.gz /var/www/phpsite
したがって、上記のコマンドは、時の/ var/www /のphpsiteであなたのphpsiteをgzipタールます毎日午後10時半。 でのviを終了し、終了して:
WQさらに参照のためにこれを参照してください。
- 1. PHPとcronジョブ
- 2. cronジョブやPHPスケジューラ
- 3. ファイル内のcronジョブPHPコード
- 4. php cronジョブ10分ごと
- 5. 複数のcronジョブと同じPHPファイル
- 6. 1and1.comのPHP Cronジョブ専用サーバー
- 7. LaravelのCronジョブ
- 8. codeigniterのCronジョブ
- 9. websphereのCronジョブ
- 10. EngineYardのCronジョブ
- 11. 長時間実行中のジョブのPHP Cronジョブの代わり
- 12. Ubuntu - cronジョブの 'from'電子メールアドレスを設定する
- 13. Ubuntuパッケージに10分のcronジョブを追加する
- 14. cronジョブでPHPページを読み込む
- 15. PHP cronジョブとWebブラウザによるアクセス
- 16. CasperJSとcronジョブ
- 17. 毎週cronジョブ
- 18. Cronジョブの計算
- 19. DjangoファイルのCronジョブ
- 20. cronジョブの質問
- 21. Cronジョブとバックグラウンドタスクの
- 22. cronジョブでのユーザーインポート
- 23. Cronジョブ出力ファイル
- 24. PythonスクリプトとCronジョブ
- 25. cronジョブが、jQueryの/ JavaScriptの
- 26. 再生フレームワーク内のCronジョブ
- 27. Googleアプリエンジン:cronジョブのセキュリティ
- 28. トラブルのセットアップyii cronジョブ
- 29. CodeIgniterのカールcronジョブとセッション
- 30. Google AppengineエンドポイントのCronジョブ
serverfaultのに属しています。 – hobodave
あなたが自分自身を正しく説明していないと分かっている場合は、複数回質問をしないでください。質問の編集リンクをクリックして詳細を追加してください。 – dimo414