最近、Macのファイルシステムを大文字と小文字を区別するものから完全に大文字と小文字を区別するものに変更する必要がありました。これを行うには、CCCを使用してデータを別のディスクにコピーしてから、新しくフォーマットされたメインディスクに戻します。
ここで、FreeBSDベースのNASでホストされ、AFPを介してエクスポートされた古いTimeMachineディスクでTimeMachineバックアップを実行したいと思いました。ただし、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も保持したいと思います。それはどういうわけか可能ですか? OSXにはgetfacl/setfaclがないので、ls -le
の出力を解析しないようにします。ここでの解決策として私が見ているのは、どういうわけかrsyncにACLを「逆方向」に適用するように指示することです。つまり、リーフファイルからディレクトリに至るまでですが、そのためのオプションはありません。
Homebrewを使用してrsyncバージョン3をダウンロードします。次に、「-acls」オプションを試すことができます。 Macのrsyncは、他のオペレーティングシステムとはコマンドライン構文が少し異なるようです。あなたはおそらくこのリンクを見たいと思うでしょう: http://nicolasgallagher.com/mac-osx-bootable-backup-drive-with-rsync/ 。 rsync3を取得する方法と彼が使用するコマンドライン引数について説明します。
私はOSXユーザーではありませんが、妻のMacをrsyncを使用してLinuxサーバーにバックアップしています。
rsyncは、少なくともOS X 10.4以降では、-Eオプションが使用されている場合、ACL属性を転送します。 manページを参照してください。
Appleは現在、Finderを使用してTimeMachineバックアップをコピーすると言っています。