ACL'leri korurken Time Machine birimini rsync kullanarak başka bir diske nasıl kopyalayabilirim?


9

Son zamanlarda Mac'imin dosya sistemini büyük / küçük harf korumasından tamamen büyük / küçük harfe duyarlı hale getirmek zorunda kaldım. Bunu CCC kullanarak ve verileri başka bir diske kopyalayıp yeni biçimlendirilmiş ana diske geri döndürerek yaptım.

Şimdi, FreeBSD tabanlı NAS'ımda barındırılan eski Time Machine diskimde AFP aracılığıyla dışa aktarılan Time Machine yedeklemesini yapmak istedim. Ancak, Time Machine hala büyük / küçük harf duyarlı olmayan fs olduğundan, dosya sistemleri eşleşmeyen bir hata alıyorum. Bu kez, Time Machine birimleri için dosya düzeyinde kopyalamayı desteklemediğinden CCC'yi kullanamıyorum.

Doğal olarak, rsync için düz gittim, ancak bu bir sorun yaratır - eğer onu çalıştırırsam:

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

ile Backups.backupdb/<machinename>dosyaya ulaşır ulaşmaz şikayet etmeye başlar failed to set permissions, operation not permitted. Buradaki sorun, oldukça kısıtlayıcı olan ACL'leri kopyalamaktır:

 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

Bu yüzden, -Ayukarıdaki komuttan kaldırıldım ve rsync artık GB'lardaki verileri mutlu bir şekilde taşıyor.

Ne yazık ki, ACL'leri de korumak istiyorum. Bu bir şekilde mümkün mü? OS X'in getfacl / setfacl özelliği yoktur ve çıktısını ayrıştırmak istemiyorum ls -le. Burada bir çözüm olarak gördüğüm, bir şekilde rsync'e ACL'leri "geriye" uygulamayı, yani yaprak dosyalarından dizinlere kadar uygulamasını söylemektir, ancak bunun için bir seçenek yoktur.


Hedef uçtaki rsync bu dosyaları chmod etme izni olan bir kullanıcı olarak mı çalışıyor?
harrymc

Bu açık bir soru olabilir, ancak hedef birimde ACL desteğinin açık olduğundan emin misiniz? Bir mac'a kopyaladığınızı ima edersiniz, ancak bu durumda, kullanıcı bu uçtaki kullanıcı orijinal dosyalarla aynı kullanıcı kimliği # olmadığı sürece çalışmalıdır, bu durumda muhtemelen ayarlamanız gerekecektir veya kök kullanmaya geçebilirsiniz (açıkçası iyi bir şey değildir, ancak başkasına sahiplik kurma izni sorunuyla ilgilenir).
Tom Scogland

Ayrıca, söz konusu kullanıcı hesabı hedef için tanımlanmalıdır, aksi takdirde sahip ayarlanamaz.
harrymc

Yanıtlar:


3

Homebrew kullanarak rsync sürüm 3'ü indirin. Sonra "--acls" seçeneğini deneyebilirsiniz. Mac'teki rsync, diğer işletim sistemlerinden biraz farklı bir komut satırı sözdizimine sahip gibi görünüyor. Muhtemelen bu bağlantıya bir göz atmak istersiniz: http://nicolasgallagher.com/mac-osx-bootable-backup-drive-with-rsync/ . Rsync 3'ün nasıl kullanılacağını ve kullandığı komut satırı argümanlarını açıklar.

OSX kullanıcısı değilim ama eşimin Mac'ini rsync ile bir Linux sunucusuna yedekliyorum.


2

rsync, en azından OS X 10.4 ve sonrasında, -E seçeneği kullanılırsa ACL niteliklerini aktarır. Kılavuz sayfasına bakınız.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.