2011-12-19 37 views

答えて

5

cronジョブは、通常の事前設定された間隔でバックグラウンドで実行されるタスクです。

ほとんどの言語でジョブの実際のコードを書くことができます。単純なPHPスクリプトやbashスクリプトでも可能です。

PHP例:

#!/usr/bin/php -q 
<?php 

file_put_contents('output.txt', file_get_contents('http://google.com')); 

次に、cronジョブをスケジュール:

10 * * * * /usr/bin/php /path/to/my/php/file > /dev/null 2>&1 

...上記のスクリプトは、バックグラウンドで10分ごとに実行されます。 http://net.tutsplus.com/tutorials/other/scheduling-tasks-with-cron-jobs/

また、あなたは使いたいものを要求する方法に応じて、これを行うにはカールを使用することができます:

$url = 'http://www.example.com/submit.php'; 
// The submitted form data, encoded as query-string-style 
// name-value pairs 
$body = 'monkey=uncle&rhino=aunt'; 
$c = curl_init ($url); 
curl_setopt ($c, CURLOPT_POST, true); 
curl_setopt ($c, CURLOPT_POSTFIELDS, $body); 
curl_setopt ($c, CURLOPT_RETURNTRANSFER, true); 
$page = curl_exec ($c); 
curl_close ($c); 
2

なぜあなたはwgetを使用することはできません

ここで良いのcrontabのチュートリアルです。もう1つはtutorialです。

おそらくあなたがそうあなたが非rootユーザーとしてログインしていると仮定して、(すなわち非特権)通常のユーザーとしてこれを行うのですかたい
+1

あなたはリンクがありません。 –

2

$ echo 'curl -s http://example.com/ > /dev/null' > script.sh 
$ chmod +x script.sh 
$ crontab -e 

HTTPリクエストを行うためにこのエントリを追加します。 5分に1回:

*/5 * * * * /path/to/your/script.sh 

が好ましく、あなたはそれゆえ、> /dev/nullエラーがないとき、任意の出力を与えるscript.shを望んでいません。それ以外の場合、cronは5分ごとに出力を(ほとんどの場合はrootに)電子メールで送信します。

これで十分です。この時点で、cronについて少し学ぶために少し時間を投資すればよいのです。

$ man cron 

一般的なアドバイス:実際のデーモンとその後

$ man 5 crontab 

:cronジョブを駆動するため

スタート形式で:あなたはcronのための適切なmanページを読んだだけでなくBUやりますコマンドラインのスニペットを直ちにコピーして貼り付けるのではなく、スイッチが何をするのかを少し時間をかけて読むのではなく、新しいUnixツールのマニュアルページを読むことを習慣にしてください。

+0

それでは、crontabファイルの "0,30 * * * curl http://example.com"という行が機能しますか? – John

0

あなたは、Linuxに

crontab -e 

を使用して、curlコマンドを追加した場合

10 15 * * * /usr/bin/curl --silent http://test.com?some=crontab &>/dev/null 

あなたはのparam "一部"と値」とhttp://test.comへのHTML GETリクエストを送信します毎日10:15 crontab "

関連する問題