1. ホーム
  2. php

[解決済み] X分毎にcronjobを実行するには?

2022-03-08 08:11:28

質問

cronjobでPHPスクリプトを実行していますが、5分ごとにメールを送信したいです。

私の現在の(crontab)cronjobです。

10 * * * * /usr/bin/php /mydomain.in/cromail.php > /dev/null 2>&1

cronmail.phpは以下の通りです。

<?php
$from = 'D'; // sender
$subject = 'S';
$message = 'M';
$message = wordwrap($message, 70);
mail("[email protected]", $subject, $message, "From: $from\n");
?>

しかし、この設定で30分経ってもメールが届きません。

どうすればいいですか?

crontab ファイルでは、フィールドは

  • 1日のうちの1時間
  • 月の日
  • 年の月。
  • 曜日

だから

10 * * * * blah

は、実行する blah を毎時10分に実行します。

5分おきにしたい場合は、どちらかを使用します。

*/5 * * * * blah

1分おきに、しかし5分おきにだけ、という意味。

0,5,10,15,20,25,30,35,40,45,50,55 * * * * blah

古いもの cron を理解しない実行形式です。 */x という表記があります。

もし、それが 今も のようなコマンドに変更してください。

date >>/tmp/debug_cron_pax.txt

で、そのファイルが5分ごとに何か書き込まれているかどうか監視してください。もしそうなら、PHPスクリプトに何か問題があるのでしょう。もしそうでなければ、あなたの cron デーモンです。