終了コードを使用したCronジョブの監視

終了コードを使用したCronジョブの監視

シェルスクリプトを使用してクローン操作を監視したいと思います。ただし、最後のコマンドの終了コードを含む変数を使用すると、常に「0」になります。これは、cron操作の後にこのスクリプトを実行していて、「終了コード」が「0」(スクリプト開始)値を持つためだと思います。どのようにスクリプトの起動を無視し、「終了コード」変数を使用できますか?古いクローンの仕事?

$ ls foo;エコ$?
ls:fooにアクセスできません:そのファイルまたはディレクトリはありません
2
$ls foo
ls:fooにアクセスできません:そのファイルまたはディレクトリはありません
$sh test.sh
0

私のtest.sh:

#!/bin/bash

通知(){
終了コード=$?
${EXIT_CODE}エコー
}
通知する

ベストアンサー1

終了コードをスクリプトにパラメータとして渡すことができます。

ls -l /tmp/filethatdoesnotex.ist
/usr/local/bin/test.sh $?

test.shを使う:

RESULT=$1
if [ $RESULT -gt 0 ]
then
   echo "something bad happened and ended with result $RESULT" >&2
else
   echo "everything is fine, sleep on"
fi

おすすめ記事