サーバーからデータをバックアップし、すべてのACLとアクセス許可を保持する実用的な方法を探しています。私はtarを見てきましたが、Googleによれば、tarはACLを保持していません。 rsyncがACLとアクセス許可を保持できることは知っていますが、ターゲットシステムがPOSIX ACLをサポートし、同じユーザーを持っている場合に限ります。私の場合、AFSにあるディレクトリにバックアップを行っているため、POSIXACLはサポートされていません。
現時点では、findを使用してシステムを再帰的に処理し(一部のディレクトリを除外するため、findを使用しています)、アクセス許可とACLをテキストファイルに保存するスクリプトを作成することで、問題を解決しました。このソリューションは機能しますが、非常に遅いです。より良い解決策はありますか?
apt-get install star
man star
star -acl -whatever -other -options -you -need
Starは、拡張POSIXヘッダーをサポートするtarです。つまり、ファイルに関する追加データをtarファイルに保存する機能です。 -acl
オプションはACLを取得します。アーカイブの作成と抽出の両方に必要です。
別のプログラムをインストールしたくない場合は、ACLを個別にバックアップできます。
getfacl -R somedir > acls.txt
これにより、すべてのACLがsomedir
からファイルacls.txt
にダンプされます。
復元するには、次を使用します。
setfacl -R --set-file=acls.txt somedir
星の横で使用できます bsdtar