В Ubuntu/Linux существует ли команда копировать-и-проверять?

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

Большая часть моего поиска с помощью Google для копии и (verify|valid|check|hash|confirm) поднимает rsync. Однако насколько я могу сказать, rsync только использует хеши, чтобы видеть, должен ли файл быть обновлен. Это не выполняет сравнение хеша позже.

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

23
задан 05.12.2010, 04:55

3 ответа

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

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

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

19
ответ дан 07.12.2019, 09:52

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

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

0
ответ дан 07.12.2019, 09:52

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

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

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

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

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

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

5
ответ дан 07.12.2019, 09:52

Теги

Похожие вопросы