バックアップ用に次の順序を実行しています。
$> set -o pipefail
$> tar -c /vary/large/folder1 /very/large/folder2 | xz ... | gpg ... | aws ...
$> echo "${PIPESTATUS[0]} ${PIPESTATUS[1]} ${PIPESTATUS[2]} ${PIPESTATUS[3]}"
1 0 0 0
tar
小さいディレクトリで実行すると、戻り値は常にです0
。ただし、より大きなフォルダ()をバックアップしようとすると、+10G
戻り値は常にです1
。ステータスマンページtar
:
戻り値 1 一部のファイルが異なります。 --compare(--diff, -d) コマンドラインオプションを指定して tar を呼び出すと、アーカイブの一部のファイルがディスクファイルと異なることを意味します。 --create、--append、または--updateオプションのいずれかがtarで指定されている場合、この終了コードは、アーカイブ中に一部のファイルが変更されたため、結果のアーカイブにファイルセットの正確なコピーが含まれないことを意味します。 。
tar
戻り値1
によってバックアップスクリプトの順序が壊れるのを防ぐにはどうすればよいですか?バックアップ中に変更されたファイルを無視したい、または無視する必要がありますが、他のファイルをどのように無視できますか?巨大なディレクトリを処理する「最も良い方法」はありますかtar
?このエラーをどのように解決しますか?
よろしくお願いします。