В настоящее время я делаю резервные копии фотографий моей семьи с жесткого диска на внешний диск и каждые несколько месяцев архивирую их в безопасном месте. Как я могу гарантировать, что файл на моем внешнем диске и / или жестком диске не будет поврежден каждый раз, когда я делаю резервную копию (без необходимости проверять, все ли изображения в порядке каждый раз)?
4 ответа
Напишите скрипт для запуска хэша sha2 над всеми файлами в каждом месте и сравните вывод. SHA2 каждого файла должен совпадать. Если этого не произойдет, у вас нет хорошей резервной копии.
Вы можете использовать реализацию rsync для синхронизации каталогов, но с установленным --dry-run
. Это помечает любые файлы, которые не совпадают и должны быть синхронизированы.
Как уже было сказано, вы можете использовать некоторую утилиту хеширования для проверки целостности файла, но она не будет сохранять / восстанавливать файлы сама.
Вы можете использовать для хеширования:DirHash, Hash-it, QuickHash или даже решение Microsoft PsFCIV.
Если вы хотите не просто проверять целостность, но и иметь возможность восстанавливать данные в случае повреждения исходных (исходных) файлов и резервных копий, вы можете использовать утилиту par2, которая хранит дополнительную дополнительную информацию, которая позволяет восстанавливать даже поврежденные файлы. Вы можете использовать версию утилиты par2 для Windows под названием MultiPar
Вы также можете использовать PureSync для резервного копирования и установить
Compare methods
в настройках по By contents (compare binary)
.
Каждый раз, когда вы используете PureSync, он будет сравнивать исходные и целевые каталоги по содержимому (что на самом деле будет довольно медленным, поскольку ПК потребуется перечитать все файлы, чтобы иметь возможность проверить целостность файла).
Вы можете создать архивы par2 в исходном месте и синхронизировать его с PureSync на резервный диск.
Ответ EEAA хороший, но я бы порекомендовал хеши MD5, потому что это было бы быстрее, и в этом случае вас не заботит безопасность.
Вот команда Powershell, которую вы можете использовать для генерации списка хэшей:
Get-FileHash -Algorithm MD5 -Path (Get-ChildItem "C:\path\to\files\*.*" -Recurse) | Export-CSV C:\Temp\Hashlist.csv
Запустите его как в исходном каталоге, так и в каталоге резервного копирования, а затем сравните списки. Обратите внимание, что командлет Get-FileHash доступен только в Powershell 4.0 и выше.