ACLを維持しながらrsyncを使用してTime Machineボリュームを別のディスクにコピーする方法


9

最近、Macのファイルシステムを大文字と小文字を区別するように変更して、大文字と小文字を完全に区別する必要がありました。CCCを使用してデータを別のディスクにコピーしてから、新しくフォーマットされたメインディスクに戻しました。

今、私は、FreeBSDベースのNASでホストされ、AFPを介してエクスポートされた古いTime MachineディスクでTime Machineバックアップを実行したいと思っていました。ただし、Time Machineにはまだ大文字と小文字を区別しないfsがあるため、ファイルシステムが一致しないというエラーが発生します。今回は、Time Machineボリュームのファイルレベルのコピーをサポートしていないため、CCCを使用できません。

当然、私はそのままrsyncを使用しましたが、問題が発生します。

/usr/local/bin/rsync --super -aEHAXNvx --fileflags --delete /Volumes/Time\ Machine\ Backups/ /Volumes/NewDisk/

Backups.backupdb/<machinename>、フォルダに到達するとすぐに文句を言い始めますfailed to set permissions, operation not permitted。ここでの問題は、ACLのコピーです。これは非常に制限的です。

 ll -dle /Volumes/Time\ Machine\ Backups/Backups.backupdb/<machinename>/
 drwxr-xr-x@ 19 root  staff  646 Dec 23 09:38 /Volumes/Time Machine Backups/Backups.backupdb/<machinename>/
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown

そのため-A、上記のコマンドから削除しました。rsyncはGBのデータを喜んで移動しています。

残念ながら、ACLも保持したいと考えています。それはどういうわけか可能ですか?OS Xにはgetfacl / setfaclがないため、の出力を解析しないようにしたいと思いls -leます。ここでの解決策として私が見ているのは、rsyncにACLを「逆方向」に適用するように指示することです。つまり、リーフファイルからディレクトリまで適用しますが、オプションはありません。


宛先側のrsyncは、これらのファイルをchmodする権限を持つユーザーとして実行されていますか?
harrymc 2013年

これは明らかな質問かもしれませんが、宛先ボリュームでACLサポートがオンになっていることを確認しますか?Macにコピーする必要があることを意味しますが、その場合は、その端のユーザーが元のファイルと同じユーザーIDでない限り、単に機能するはずです。この場合、おそらく設定する必要があります。それを起動するか、ルートを使用するように切り替えます(明らかに良いことではありませんが、所有権を他のユーザーに設定する権限の問題に対処します)。
Tom Scogland 2013年

さらに、このユーザーアカウントをターゲットに定義する必要があります。そうしないと、所有者を設定できません。
harrymc 2013年

回答:


3

Homebrewを使用してrsyncバージョン3をダウンロードします。次に、「-acls」オプションを試すことができます。Macのrsyncのコマンドライン構文は、他のオペレーティングシステムとは少し異なるようです。あなたはおそらくこのリンクを見てみたいでしょう:http : //nicolasgallagher.com/mac-osx-bootable-backup-drive-with-rsync/。rsync 3と彼が使用するコマンドライン引数を取得する方法について説明します。

私はOSXユーザーではありませんが、妻のMacをrsyncを使用してLinuxサーバーにバックアップしています。


2

rsyncは、少なくともOS X 10.4以降では、-Eオプションが使用されている場合、ACL属性を転送します。manページを参照してください。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.