Benzer ancak aynı olmayan iki klasörü nasıl birleştirebilirim?


11

Ben bir USB sürücüsüne [hedef] taşımak için çalışıyorum bir FireWire sürücü [kaynak] üzerinde bir klasör (birçok birçok alt klasör ve dosyalarla dolu) var.

Tüm dosyaları Kaynaktan Hedef'e taşımaya çalışıyorum.

Bunu Finder aracılığıyla yapmaya başladım, ancak süreç boyunca 1/8 yol hakkında bir izin hatası verdi ve sonra durdu.

Dosyaları sürücüler arasında taşırken, Finder'ın önce bir 'kopya' yaptığını ve daha sonra sadece kopya komutu başarıyla tamamlandığında 'kaynağı' kaldırdığını düşünüyorum.

O Bunun anlamı bazı dosyalar edildi başarıyla kopyalandı ama hangilerinin veya kaç bilemezsin. Bu yüzden alt klasörleri Kaynaktan Hedefe (daha küçük kümeler) kopyalamaya başladım ve başarıyla kopyalandıklarında Kaynaktan kaldırdım.

Bu işlemi tek bir oturuşta tamamlayamadım ve "yerimi" kaybettim

Şimdi iki eksik veri setiyle kaldım. Kaynakta muhtemelen Hedefte olan bazı dosyalar / klasörler vardır, ancak her şey kopyalanmamıştır.

Klasörlerin bazıları kısmen kopyalanmış olabilir, ancak alt klasörlerinin tümü vb. Olmayabilir.

Yineleme en aza indirirken Kaynak geri kalanını hedefe taşımak için en iyi yolu anlamaya çalışıyorum. Burada çok fazla veri hakkında konuşuyoruz (Kaynak 398.127 öğede 420.72 GB ve Hedef 298.84 GB ve 390.149 öğedir), bu yüzden bunu bir şekilde otomatikleştirmeye çalışacağım . Nasıl olduğundan emin değilim.

Ben düşündüm gcpile [GNU cp] --update --archiveveya dittoveya rsyncveya ChronoSync ama sadece emin tavsiye olacağını hangisi programım için kullanılması gerektiğidir en iyi seçenektir ve hangi ayarların değilim (ben istiyorsun --archiveile gcp? Ne bayraklar ı ile kullanmak istiyorsunuz dittoveya rsync?)


Bu yazılım şaşırtıcı: bombich.com (Karbon Kopya Cloner). Tüm sorunlarınızı çözer.
Kassym Dorsel

CCC veya SuperDuper sadece sahip olduğum şeyi kopyalamama yardımcı olacak, değil mi? Önce onları birleştirmem gerek.
TJ Luoma

Birleşebilir. Ayarlara kendiniz ince ayar yapmanız gerekir. yani bu ayarları / gelişmiş ayarları özelleştirin
Kassym Dorsel

Ah… Bunu bilmiyordum. Kesinlikle kontrol edecek.
TJ Luoma

Yanıtlar:


15

Terminal'i açabilir ve aşağıdakilerden birini kullanabilirsiniz ( işlemi durdurursanız tamamen kaybolmayacak bir şey istiyorsanız rsync muhtemelen sizin için olacaktır ):

Standart UNIX yolu

cp -R -v source/. destination

Geeky UNIX yolu (yeniden başlatılabilir)

rsync -vaEW source/ destination

OSX "kolay" yolu

ditto -V source destination

Kaynak


1
Bu 'cp' komutu yazılım bağlantılarını kesmez mi? Örneğin, Mac uygulamaları bazen .app paketinin içindeki bağlantıları kullanıyor gibi görünüyor. (Bağlantılar bunu yapmaya çalışırken her zaman benim için büyük bilinmeyendir.) Rsync hakkında iyi bir nokta, bu en iyi plan olabilir (çünkü çok fazla veri ile) kesinti olasılığı önemlidir.
TJ Luoma

1

İki dizin ağacındaki Geliştirici Araçları'ndan FileMerge kullanırsanız, aralarında fark olması ve farklılıkları göstermesi nedeniyle hangi dosyaların kopyalandığını görebileceksiniz.

Aksi takdirde rsync, yukarıda cksum tarafından belirtildiği gibi biraz daha otomatik olabilir.

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.