読み取り権限のないファイルやディレクトリがいくつかあるディレクトリ構造をバックアップする方法はありますか?バックアップ(tar?jar?)がクラッシュすることなく、それらを無視したいと思います。
読み取り権限のないファイルやディレクトリがいくつかあるディレクトリ構造をバックアップする方法はありますか?バックアップ(tar?jar?)がクラッシュすることなく、それらを無視したいと思います。
回答:
Gnu tarには、--ignore-failed-readそれだけを行うオプションがあります。
GNU tarを使用していない場合は、バックアップするファイルのリスト、または除外するファイルのリストを生成できます。GNU findには-readable、ファイルに対する読み取り権限があるかどうかをテストする述語があります。findの他のバージョンでは、find単独で使用するには、これをファイルのアクセス許可(-perm)と所有権(-user、group)で概算する必要があります。これにより、グループ、ACLなどへの対応が困難になります。外部プログラムまたは組み込みシェルtest。除外するファイル名の改行で区切られたリストを読み取るtarオプションがあると想定した例を次に示します-X(解析の問題を回避するために、改行を含むファイル名はスキップされます)。
find . ! -name '*
*' -exec sh -c 'for x; do [ -r "$x" ] || printf "%s\\n" "$x"; done' _ {} |
tar -cf backup.tar -X - .