Я делаю резервные копии всех своих цифровых фотографий в нескольких местах. Я использовал команду cp, но - учитывая личную ценность - начал задаваться вопросом, есть ли более надежный способ. Я не новичок в Linux, Bash, Perl и т. Д., Поэтому я мог написать что-то для копирования и сравнения хэшей md5, но мне было интересно, если что-то уже существует (переосмысление, колеса и тому подобное).
Большая часть моего поиска в Google для копирования и (проверки | действительного | проверки | хеш | подтверждения) вызывает rsync. Однако, насколько я могу судить, rsync использует только хэши, чтобы увидеть, нужно ли обновлять файл. После этого он не выполняет сравнение хешей.
Для этого, в частности, файлы являются двоичными и обычно 8-10 МБ. Будем весьма благодарны за любые рекомендации для коммунальных услуг или руководства для DIY решений.
Ответы:
От
man rsync
, под-c
вариант:-c, --checksum: пропуск по контрольной сумме, а не по времени и размеру
источник
Несколько лет назад у меня были те же требования, что и у вас. Я выбрал решение использовать ZFS через драйвер ZFS-FUSE на моем сервере хранения. Я думал, что мои личные фотографии, отсканированные документы и другие подобные файлы - это вещи, к которым я могу получить доступ лишь изредка, поэтому может пройти очень много времени, скажем, год или больше, прежде чем я обнаружу, что файл был поврежден из-за ошибка привода или тому подобное.
К тому времени все резервные копии, которые у меня есть, могут быть этой битой версией файла (ов).
Преимущество ZFS перед RAID-5 заключается в том, что он может обнаруживать и исправлять ошибки в данных, хранящихся на отдельных дисках, даже если диски не сообщают об ошибке чтения при чтении данных. Посредством контрольных сумм он обнаружит, что один из дисков возвратил поврежденную информацию, и будет использовать данные избыточности для восстановления этого диска.
Из-за способа создания контрольной суммы в ZFS я чувствовал, что могу положиться на нее для хранения редко используемых данных в течение длительных периодов времени. Каждую неделю я запускаю «zpool scrub», который просматривает и перечитывает все данные и проверяет контрольные суммы.
За последние несколько лет ZFS-FUSE показала мне хорошие результаты.
В далеком прошлом для клиента я реализовал систему базы данных, которая хранит информацию контрольной суммы для всех файлов, хранящихся в определенном каталоге. Затем у меня был другой скрипт, который периодически запускался и проверял файл по контрольной сумме, хранящейся в базе данных. При этом мы могли быстро обнаружить поврежденный файл и восстановить его из резервных копий. Мы в основном осуществляли те же виды проверок, что и ZFS внутри страны.
источник
https://sourceforge.net/projects/crcsum/ Расширяет Linux cp & mv с проверкой контрольной суммы
источник
Я нашел эту утилиту (Linux и Windows), которая делает то, что вы хотите (хэшированная копия + хешированная проверка с журналом): http://sourceforge.net/projects/quickhash/
Единственным недостатком является то, что он существует только как графический интерфейс (нет доступа к командной строке)
источник
если вы копируете файл локально (как подразумевается в вашей ссылке,
cp
а не вscp
etc), то простоcmp
исходные и целевые файлы ... но реально, еслиcp
не выдается какая-либо ошибка (в командной строке или в возвращаемое значение выполнения), нет никаких оснований полагать, что это не работает.если вы действительно хотите законно избыточное резервное копирование, рассмотрите удаленное решение, такое как dropbox .
источник