23

Я делаю резервные копии всех моих цифровых фотографий в нескольких местах. Я использовал команду cp, но - учитывая личную ценность - начал задаваться вопросом, есть ли более надежный способ. Я не новичок в Linux, Bash, Perl и т.д., Поэтому я мог написать что-то для копирования и сравнения хэшей md5, но мне было интересно, существует ли что-то уже (переосмысление, колеса и что-то еще).

Большая часть моего поиска в Google для копирования и (проверки | действительного | проверки | хеш | подтверждения) вызывает rsync. Однако, насколько я могу судить, rsync использует только хэши, чтобы увидеть, нужно ли обновлять файл. После этого он не выполняет сравнение хешей.

Для этого, в частности, файлы являются двоичными и обычно 8-10 МБ. Будем весьма благодарны за любые рекомендации для коммунальных услуг или руководства для DIY решений.

5 ответов5

19

От man rsync , под опцией -c :

-c, --checksum: пропуск по контрольной сумме, а не по времени и размеру

Обратите внимание, что rsync всегда проверяет, что каждый переданный файл был правильно восстановлен на принимающей стороне, проверяя контрольную сумму всего файла, которая генерируется при передаче файла, но эта автоматическая проверка после передачи не имеет ничего общего с этой опцией. перед передачей "Нужно ли обновлять этот файл?" проверять.

4

Несколько лет назад у меня были те же требования, что и у вас. Я выбрал решение использовать ZFS через драйвер ZFS-FUSE на моем сервере хранения. Я думал, что мои личные фотографии, отсканированные документы и другие подобные файлы - это вещи, к которым я могу получить доступ лишь изредка, поэтому может пройти очень много времени, скажем, год или больше, прежде чем я обнаружу, что файл был поврежден из-за ошибка привода или тому подобное.

К тому времени все резервные копии, которые у меня есть, могут быть этой битой версией файла (ов).

Преимущество ZFS перед RAID-5 заключается в том, что он может обнаруживать и исправлять ошибки в данных, хранящихся на отдельных дисках, даже если диски не сообщают об ошибке чтения при чтении данных. Посредством контрольных сумм он обнаружит, что один из дисков возвратил поврежденную информацию, и будет использовать данные избыточности для восстановления этого диска.

Из-за способа создания контрольной суммы в ZFS я чувствовал, что могу положиться на нее для хранения редко используемых данных в течение длительных периодов времени. Каждую неделю я запускаю "zpool scrub", который просматривает и перечитывает все данные и проверяет контрольные суммы.

За последние несколько лет ZFS-FUSE показала мне хорошие результаты.

В далеком прошлом для клиента я реализовал систему базы данных, которая хранит информацию контрольной суммы для всех файлов, хранящихся в определенном каталоге. Затем у меня был другой скрипт, который периодически запускался и проверял файл по контрольной сумме, хранящейся в базе данных. При этом мы могли быстро обнаружить поврежденный файл и восстановить его из резервных копий. Мы в основном осуществляли те же виды проверок, что и ZFS внутри страны.

1

Я нашел эту утилиту (Linux и Windows), которая делает то, что вы хотите (хэшированная копия + хешированная проверка с журналом): http://sourceforge.net/projects/quickhash/

Единственным недостатком является то, что он существует только как графический интерфейс (нет доступа к командной строке)

Начиная с версии 1.5.0, выбранная исходная папка может быть хэширована, а затем скопирована и восстановлена в целевую папку, где содержимое снова хэшировано для проверки. Начиная с 1.5.5, можно использовать выбранные маски файлов (* .doc; * .xls и т.д.).

1

https://sourceforge.net/projects/crcsum/ Расширяет Linux cp & mv с проверкой контрольной суммы

0

если вы копируете файл локально (как подразумевается в вашей ссылке на cp вместо scp т. д.), то просто cmp исходные и целевые файлы ... но реально, если cp не выдает какую-то ошибку (либо на в командной строке или в возвращаемом значении выполнения), нет никаких оснований полагать, что это не работает.

если вы действительно хотите законно избыточное резервное копирование, подумайте об удаленном решении, таком как dropbox.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .