6

実行時間が異なる2つのcronジョブを実装したかったのです。1つのcronジョブは電子メールを送信するためのもので、2つ目のcronジョブはアプリケーションサブスクリプションを検証するためのものです。

次のように、1つのcrontabファイルと2つのcronjobに書き込みます。

2 * * * * path to mailCronjob mail.php
20 * * * * path to check my application's subscriptions sub.php

問題は、最初のcronjobが正常に機能していることです。メールは正常に配信されますが、2番目のcronジョブが機能していません。2番目のジョブを手動で実行しようとしましたが、これも正常に機能しています。

コマンドを使用してcronjobを次のように設定しています:

crontab crontab_file

コマンドをcrontab -l 実行すると、コマンドラインに両方のcronjobも表示されます。

私は質問したかったのですが、ここで何かが足りないのでしょうか、それともそれらのcronジョブを実行するために何をすべきでしょうか。

4

5 に答える 5

10

事実: 1 つの crontab ファイルからいくつでも cron ジョブを実行できます。

事実:それぞれ独自の crontab ファイルを使用して、さまざまなユーザーとしてさまざまジョブを実行することもできます。

提案:

1) 2 番目のジョブの問題点をデバッグするだけです。

2) パスかもしれませんし、パーミッションかもしれません。おそらく環境です(「cron」の環境は、コマンドラインからの同じユーザーの環境とは異なる場合があります)。

PS:

これも試してください:

于 2012-11-07T20:28:02.833 に答える
2

所有ユーザーの電子メールをチェックし、エラー レポートが送信されているかどうかを確認します。

特定のユーザーになる必要があり、そのユーザーの環境で呼び出しを変更する場合

su - -c "/path/to/sub.php" SubScriptUser

スクリプトが特定のディレクトリからのみ機能する場合

cd /path/to/ && ./sub.php
于 2012-11-07T20:31:45.157 に答える
0

1 つの cron-tab ファイルで 2 つの実際の cronjobs を実行したことはありませんが、15 分ごとに 1 つの cronjob を実行し、データベースにクエリを実行するか、実行するタスクを構成ファイルで調べます。おそらく、この概念が役立ちます。

于 2012-11-07T20:23:18.577 に答える