Saya hanya ingin mencadangkan dan mengarsipkan file di beberapa mesin. Sayangnya, file-file tersebut memiliki beberapa file besar yang merupakan file yang sama tetapi disimpan secara berbeda pada mesin yang berbeda. Misalnya, mungkin ada beberapa ratus foto yang disalin dari satu komputer ke komputer lain sebagai cadangan ad-hoc. Sekarang saya ingin membuat repositori file yang umum, saya tidak ingin beberapa salinan dari foto yang sama.
Jika saya menyalin semua file ini ke direktori tunggal, apakah ada alat yang dapat melalui dan mengenali file duplikat dan memberi saya daftar atau bahkan menghapus salah satu dari duplikat?
backup
file-management
deduplication
Pengguna1
sumber
sumber
Jawaban:
Buat md5sum setiap file, duplikat md5sums menyarankan (tetapi tidak menjamin) file duplikat.
sumber
Anda bisa menggunakan dupemerge untuk mengubah file identik menjadi hardlink. Ini akan memakan waktu yang sangat lama pada satu set file besar. Hash file SHA (atau MD5) hampir pasti akan bekerja lebih cepat, tetapi Anda harus melakukan lebih banyak kerja keras dalam menemukan duplikat. Kemungkinan tabrakan tidak disengaja sangat rendah sehingga pada kenyataannya Anda bisa mengabaikannya. (Faktanya, banyak produk deduplikasi sudah melakukan ini.)
Taruhan terbaik Anda untuk berurusan dengan foto dan musik adalah untuk mendapatkan alat yang dirancang khusus untuk menemukan duplikat item tersebut pada khususnya. Terutama karena Anda mungkin tidak memiliki file yang identik pada tingkat biner setelah hal-hal seperti penandaan atau pemotongan atau penyandian perbedaan ikut bermain. Anda akan menginginkan alat yang dapat menemukan foto yang "terlihat" sama dan musik yang "terdengar" sama bahkan jika penyesuaian kecil telah dilakukan pada file.
sumber
hardlink
sangat cepat (butuh 200 detik untuk file 1.2M, 320GB)Nah, jika Anda memiliki kemampuan, Anda dapat mengatur sistem file deduplicating dan meletakkan cadangan Anda pada itu. Ini tidak hanya akan menghapus seluruh file, tetapi juga potongan file yang serupa. Misalnya, jika Anda memiliki JPEG yang sama di beberapa tempat, tetapi dengan tag EXIF yang berbeda pada setiap versi, sistem file deduplicating hanya akan menyimpan data gambar sekali.
Sistem file deduplicating termasuk lessfs, ZFS, dan SDFS.
sumber
rsync --link-dest
adalah teman Anda jika Anda ingin menghemat saat baca / transfer juga. Pengantar sederhana ada di sini: netfuture.ch/2013/08/...Ketika saya melakukan hal semacam ini, saya belajar bahwa itu jauh lebih menarik / efisien waktu untuk benar-benar hanya memeriksa file sendiri di waktu luang Anda, selama beberapa minggu. Anda dapat membedakan antara hal-hal yang jauh lebih baik daripada komputer Anda.
Jika Anda tidak setuju, maka saya sarankan EasyDuplicateFinder . Seperti yang saya sebutkan di atas, meskipun, akan memakan waktu lama, katakanlah, sekitar satu hari untuk 5GB file.
Dan pada catatan lain, Crashplan melakukan apa yang Anda lakukan sebelumnya, tetapi dengan cara yang jauh lebih terorganisir, bukan versi.
sumber
Kemungkinan lain, menganggap mesin yang Anda cadangkan akan mendukungnya, adalah menggunakan sesuatu seperti
rsync
.Jika Anda
rsync
dari A ke B, maka dari C ke B, lalu dari D ke B, dll, duplikat yang tepat (yaitu dengan nama file) akan dihilangkan (dan disinkronkan antara mesin yang Anda buat cadangannya).Namun, jika Anda tidak ingin semuanya disinkronkan, ini bukan cara terbaik.
sumber
Untuk file gambar, gunakan pencarian gambar . Itu juga dikemas dalam debian .
sumber
Tautan keras hanya melakukan deduplikasi jika seluruh file identik. Jika header (EXIF, ID3, ...) atau metadata (pemilik) berbeda, mereka tidak akan ditautkan.
Ketika Anda memiliki kesempatan untuk menggunakan sistem file dengan dukungan deduplikasi blok (ZFS, btrfs, ...) gunakan itu. Saya sangat menyukai dukungan deduksi offline (alias batch ) dari btrfs, yang mendukung deduplikasi tingkat-tingkat dan tidak terus-menerus mengonsumsi memori dalam jumlah besar (seperti dedup online ZFS).
Deduplikasi juga memiliki keuntungan bahwa file dapat dimodifikasi oleh pengguna tanpa pemberitahuan salinan lainnya (yang mungkin tidak berlaku dalam kasus Anda, tetapi pada orang lain).
Lihat https://btrfs.wiki.kernel.org/index.php/Deduplication untuk diskusi yang sangat baik.
sumber