Способи декупажу файлів


10

Я хочу просто зробити резервну копію та архівувати файли на декількох машинах. На жаль, у файлах є великі файли, які є одним і тим же файлом, але по-різному зберігаються на різних машинах. Наприклад, може бути кілька сотень фотографій, скопійованих з одного комп’ютера на інший у вигляді спеціального резервного копіювання. Тепер, коли я хочу зробити загальне сховище файлів, я не хочу декількох копій однієї фотографії.

Якщо я скопіюю всі ці файли в єдиний каталог, чи є інструмент, який може перейти через розпізнавання дублікатів файлів і подати мені список або навіть видалити один із дублікатів?


Відповіді:


3

Створіть md5sum кожного файлу, копії md5sums пропонують (але не гарантують) дублікати файлів.


1
вони все-таки настійно "пропонують", однак :) .. і якщо файли однакового розміру, ймовірність правильності пропозиції є винятково великою
warren

2

Ви можете використовувати dupemerge для перетворення однакових файлів у жорсткі посилання. На великому наборі файлів це займе дуже багато часу . SHA (або MD5) хеші файлів майже напевно працюватимуть швидше, але вам доведеться більше працювати над пошуком дублікатів. Ймовірність випадкового зіткнення настільки низька, що насправді ви можете її проігнорувати. (Насправді багато продуктів дедуплікації вже роблять це.)

Ваша найкраща ставка для спілкування з фотографіями та музикою - отримати інструменти, пристосовані до пошуку дублікатів цих предметів, зокрема. Тим більше, що, можливо, у вас немає файлів, ідентичних на двійковому рівні, після того як такі речі, як теглювання чи обрізання чи різницю кодування, вступають у гру. Вам потрібні інструменти, які можуть знайти фотографії, які "виглядають" однаково, та музику, яка "звучить" однаково, навіть якщо файли були внесені незначні корективи.


1
hardlinkдуже швидко (потрібно 1,2 секунди для 1,2M файлів, 320 ГБ)
Marcel Waldvogel

1

Що ж, якщо у вас є можливість, ви можете налаштувати файлову систему дедупликації і поставити на це резервні копії. Це призведе не лише до дублювання цілих файлів, але і до подібних фрагментів файлів. Наприклад, якщо у вас є один і той же JPEG в декількох місцях, але з різними тегами EXIF ​​для кожної версії, дедупликаційна файлова система зберігає дані зображення лише один раз.

Дедупликація файлових систем включає меншеfs, ZFS та SDFS.


1
Я не можу говорити про дедупликацію на SDFS чи менших файлах, але Dedupe на ZFS не працює так. Він перевіряється на рівні блоку, тому ідентичні файли, ймовірно, будуть позначені для виведення, але файли, які мають інший заголовок, швидше за все, не будуть. Крім того, файли, менші за розмір запису ZFS (за замовчуванням - 128 КБ), можуть бути упаковані в один блок разом, тому вони також не можуть отримати вигоди від виведення.
notpeter

Повторювана файлова система (zfs або btrfs) економить місце лише на хості резервного копіювання. Це не економить кількість переданих даних. Є ідея обчислити деякий хеш для файлів і відправити його на резервний хост. коли на ньому написано "У мене є", робиться резервне копіювання цього файлу. Це реалізується на дуже дорогому (грошовому) резервному програмному забезпеченні. Я ніколи не чув про це у відкритому коді. Але, можливо, вона реалізована зараз, хто знає :)
Znik

@Znik rsync --link-dest- ваш друг, якщо ви хочете заощадити і на читанні / передачі. Простий вступ тут: netfuture.ch/2013/08/…
Марсель Вальдвогель

він працює, перевіряючи вставки, призначені файлу але коли дедуплікація прихована, наприклад, у файловій системі squashfs, тоді rsync не може перевірити це і перенесе ті самі дані багато разів.
Znik

0

Коли я займався подібними справами, я дізнався, що набагато привабливіше / ефективніше за часом просто переглядати файли самостійно у вільний час протягом декількох тижнів. Ви можете сказати різницю між речами набагато краще, ніж ваш комп’ютер.

Якщо ви не згодні, я пропоную EasyDuplicateFinder . Як я вже згадував вище, хоча, скажімо, потрібно буде тривалий час, наприклад, приблизно 5 днів файлів на 5 Гб.

І ще на замітку, Crashplan робить те, що ви робили раніше, але набагато більш організованим способом, який не має версій.


0

Ще одна можливість, припускаючи, що машини, які ви створюєте резервне копіювання, підтримуватимуть це, - це використовувати щось подібне rsync.

Якщо ви rsyncвід A до B, то від C до B, потім від D до B тощо, точні дублікати (тобто за назвою файлу) будуть усунені (і синхронізовані між машинами, на яких ви створюєте резервну копію).

Якщо ви не хочете, щоб вони синхронізувалися один з одним, однак, це не найкращий шлях.


0

Для файлів зображень використовуйте findimagedupes . Він також упакований в debian .


findimagedupes призначений для фотографій чи графіки, можливо перетворений з одного формату в інший. фотографії (я вдома) - лише приклад. Це можуть бути будь-які інші великі файли.
Znik

0

Жорсткі посилання виконують дедуплікацію лише тоді, коли весь файл однаковий. Якщо заголовки (EXIF, ID3, ...) або метадані (власник) відрізняються, вони не будуть пов'язані.

Коли у вас є можливість використовувати файлову систему з підтримкою дедуплікації блоків (ZFS, btrfs,…), використовуйте це замість цього. Я дуже люблю в автономному режимі (він же партії ) DeDup підтримку Btrfs, яка підтримує ступінь рівня дедуплікаціі і не постійно споживають величезну кількість пам'яті (як ZFS онлайн DeDup).

Дедуплікація також має перевагу в тому, що користувачі можуть змінювати файли, не помічаючи іншої копії (яка може застосовуватися не у вашому випадку, а в інших).

Дивіться https://btrfs.wiki.kernel.org/index.php/Deduplication для відмінної дискусії.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.