5

У меня есть около 100 000 маленьких файлов, которые я копирую каждые несколько недель. Поскольку они действительно малы, скорость записи на мой внешний 2,5 "жесткий диск USB 3.0 очень низкая.

В 7zip я сжал их, используя уровень сжатия: Store. Это не должно сжимать данные, это должно сделать только один большой файл, верно? Я сделал это, потому что скорость передачи одного большого файла намного лучше, чем для множества маленьких файлов.

Если на жестком диске будет один плохой блок, это не будет проблемой, если у меня есть 100k маленьких файлов - некоторые будут потеряны, но у меня будут другие 99%. Что произойдет, если у меня будет один поврежденный блок в одном очень большом "сжатом" файле? Могу ли я восстановить остальные 99% неповрежденных данных?

1 ответ1

3

7zip архивы, использующие режим сжатия "store", действительно не имеют фактического сжатия; Вы можете увидеть все исходные данные в файле 7z, если откроете его в шестнадцатеричном редакторе. Конец одного файла непосредственно примыкает к началу следующего. Бухгалтерия, такая как имена файлов, размеры файлов, контрольные суммы CRC32 и смещения в архиве, представляется сжатой в начале и / или конце архива.

Когда я набросал крупный прогон в середине файла, WinRAR отказался извлекать только затронутые файлы - те, которые я не ударил, вышли хорошо. Сам 7zip также жаловался на повреждение, но все равно вытащил все файлы. Моя писанина была видна в неархивированных файлах, но в остальном они были целы.

Если бухгалтерия повреждена, 7zip не сможет прочитать архив, и вам придется спасать выжившие данные с помощью шестнадцатеричного редактора. Но если начало и конец архива не повреждены, вы сможете вывести все данные обычным способом, за исключением частей, затронутых повреждением диска. Тем не менее, если эти данные важны, вы должны создавать и хранить резервные копии вне сайта.

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