コマンドの成功(または失敗)を変数にどのように渡すことができますか?

コマンドの成功(または失敗)を変数にどのように渡すことができますか?

rsnapshotNASをバックアップしようとしています。コマンドの出力(例:など)を/tmp/rsnapshot_stats_hourlyrsnapshot hourlyに渡します。rsnapshot daily他のスクリプトでは、統計ファイルのコマンド/内容の結果に基づいて変数を定義したいと思います。だからrsnapshotを実行するときにエラーがあるかどうかに応じて変数を"$status"定義したいと思います。"success""failure"

誰でもこの問題を解決するのに役立ちますか?残念ながら、この分野に対する私の能力は非常に低いです。ありがとうございます。

ベストアンサー1

質問コメントに示すように男のスナップショット説明する:

終了値

       0  All operations completed successfully

       1  A fatal error occurred

       2  Some warnings occurred, but the backup still finished

したがって、次のようにコマンドラインを変更できます。

rsnapshot ... with_all_arguments ; [ $? == 0 ] && rm -f flag.file || touch flag.file

または同じ:

if rsnapshot ... with_all_arguments ; then
    rm -f flag.file 
else 
    touch flag.file
fi

他のスクリプトで確認してくださいロゴファイル存在する。

しかし、はるかに良いrsnapshot のログオプションを使用し、ログファイルを調べます。

おすすめ記事