0

私はこのbashスクリプトを使用して、実行中のサービスをチェックしました。スクリプトの実行が終了するかどうかを確認します。それ以外の場合は、いくつかのコマンドを実行する別のスクリプトを実行し、実行すると終了します。スクリプトを手動で実行すると問題は発生しますが、私はそれをcronで実行しますが、実行されておらず、正しく実行されていませんここに私のスクリプトがあります

  #!/bin/sh
  SERVICE='loop2.sh'

  if ps ax | grep -v grep | grep $SERVICE > /dev/null
 then
     echo "$SERVICE service running, everything is fine"
 else
 /home//www/loop2.sh
 fi

cronで正常に動作するようにスクリプトを調整する

4

1 に答える 1

1

あなたはあまり具体的ではありません。どのようなエラーが表示されますか?

プロセスは、カットダウン環境で cron の下で実行されることに注意してください。特に、PATH などの環境変数は、インタラクティブ シェルから大幅に削減されます。

  1. スクリプトの stdout/stderr をログに記録します。myscript 2>&1 >/tmp/script.log
  2. envスクリプトのコマンドを使用して、環境が期待どおりであることを確認します
  3. このスクリプトは本当にあなたが望むことをしますか? そして、あなたが望むようにcronと対話しますか? cronサービスが実行されていない場合は、新しいサービスを生成しますが、それをバックグラウンドに配置して、プロセスの (孫の) 子ではなくデーモンにすることを期待しています
  4. あなたのスクリプトは、下で実行されたユーザーによって実行可能cronですか?
于 2012-10-31T11:17:11.057 に答える