0

ハウスキーピング スクリプトを作成してきましたが、ステージング環境と運用環境の両方にハウスキーピング スクリプトを cronjob としてインストールする必要があります。問題なくステージングで実行でき、期待される出力が得られます。本番環境で実行すると、同じスクリプトが cronjob として機能しません。以下は、インストールした cronjob です。

#OTB housekeeper scripts
* * * * * /product/susara/tools/housekeeper.sh -t OTB > /tmp/susara.out 2>&1

これは、本番環境で機能しない理由を見つけるために私がしたことです

  1. cronjob デーモンが実行されているかどうかを確認します。チェックすると、次の出力が得られ、cronjob deamon is running と表示されます

ps ax|grep cron

出力

 4120 ?        Ss     0:06 crond
13640 pts/6    S+     0:00 grep cron
  1. cron ジョブ ログの確認

これらのログは /log/var にあり、cron cron.1 cron.2 などの名前のログ ファイルがあります。

これらのログの内容は、問題を解決するのに何の助けにもなりません. 私はそれが何を言っているのか理解するのが難しい.

May 16 08:01:01 pr2vmx08 crond[17471]: (root) CMD (run-parts /etc/cron.hourly)
May 16 08:08:22 pr2vmx08 crontab[17180]: (user1) REPLACE (user1)
May 16 08:08:22 pr2vmx08 crontab[17180]: (user1) END EDIT (user1)
May 16 08:09:01 pr2vmx08 crond[4162]: (user1) RELOAD (cron/user1)
May 16 08:10:01 pr2vmx08 crond[17762]: (root) CMD (/usr/lib64/sa/sa1 1 1)
May 16 08:20:01 pr2vmx08 crond[18229]: (root) CMD (/usr/lib64/sa/sa1 1 1)

これらの 2 つの手順では、問題を解決できませんでした。この分野で経験を積んだ人なら、ここで何がうまくいかないのか教えてもらえますか。

助けてくれてありがとう

4

2 に答える 2

1

cron ログは、日付、マシン名、プロセス、およびいくつかのカーネル「pid」を括弧で囲み、ユーザーを括弧で囲み、コマンド ラインを括弧で囲み、「CMD」の後に示します。

スクリプト名を grep すると、すべてアスタリスクのパラメータを指定すると、スクリプトが毎分実行されている場合に、いくつかの行が表示されるはずです。しかし、おそらく「正しい」ログ ファイルは syslog(.*) になるでしょうが、そうではないかもしれません。

さらに、このスクリプトに、標準の PATH 環境変数にないコマンドまたはその他のスクリプトの呼び出しが含まれている場合、正しく動作しないか、まったく動作しない可能性があると思います。私の「ユーザー」crontabでそれが起こっていました.crontabに正しいPATH行を追加したところ、動作し始めました。通常のスケジュール行の単純な変更とは異なり、この特定の変更により、実際に cron を再起動する必要があるという印象を受けました。

于 2014-05-13T04:19:01.620 に答える
1

最初に確認することがいくつかあります。

  1. ファイル /tmp/susara.out の内容は何ですか? このファイルはまったく書き込まれていますか? コマンドを使用

    tail -f /tmp/susara.out

    このファイルに何が書き込まれているのかを確認します。

  2. 実稼働マシンでスクリプト /product/susara/tools/housekeeper.sh のアクセス許可を確認します。コマンドを使用

    ls -al /product/susara/tools/housekeeper.sh

  3. このスクリプトは毎分実行されるはずですか?

  4. ファイル /var/log/messages で考えられるエラー メッセージを確認します

よろしく

于 2012-05-16T10:20:25.230 に答える