Назад | Перейти на главную страницу

Разделение архива на несколько носителей

Я создаю архивы, размер которых превышает размер моего текущего физического носителя (DVD). Я бы хотел разделить эти архивы:

Например, для дерева размером 24 ГБ, которое будет заархивировано в 10 ГБ, я получил бы 3 архива, все из которых <4,7 ГБ, и каждый из них можно было бы извлечь без двух других.

я использую грязный поэтому я архивирую дерево файловой системы.


Обновить: Я использую Linux.

Мне было бы действительно интересно посмотреть, как вы комбинируете dirvish с системой резервного копирования DVD, учитывая, что основной смысл dirvish - делать резервные копии постепенно, а вы теряете это преимущество с DVD.

Во всяком случае, варианты этой проблемы, которые я вижу:

  • Разделите дерево на более мелкие, чтобы каждое уместилось на диске. Это, вероятно, самый простой способ, но со временем они, вероятно, снова станут слишком большими.
  • Скрипт некоторого архивирования / сжатия в post_server, я бы использовал для этого rar, он поддерживает разделенные архивы, где в качестве параметра указывается максимальный размер сегмента. Восстановить все данные в случае потери одного диска может быть сложно. (Использование tar, как предлагалось ранее, может обойти эту проблему)
  • Разбить ветку без архиватора. Можно было бы использовать find для написания сценария оболочки, который разбивал бы ветвь на фрагменты размером менее 4,7 ГБ. Это, вероятно, лучший долгосрочный подход, но он требует гораздо больше усилий.

Лично я бы старался избегать любых решений, связанных со сборкой больших архивов 4,7 ГБ. Если бы я думал, что есть шанс, мне придется извлечь их, чтобы вернуть небольшие файлы.

То, что вы хотите, вряд ли будет существовать, хотя бы потому, что при восстановлении программное обеспечение должно выяснить, на каком носителе находится резервная копия, поэтому у него должен быть какой-то каталог для поиска таких вещей, и такой каталог имеет для хранения в архиве - для этого потребуется, чтобы вы читали как диск «каталог», так и диск «хранилище». Даже если бы вы написали это самостоятельно, вам пришлось бы хотя бы временно (на время сеанса резервного копирования) отслеживать, какие файлы были зарезервированы, чтобы они не копировались дважды.

Насколько мне известно, нельзя создать разделенный архив, чтобы одна из его частей могла быть извлечена независимо.

Вы можете указать tar, zip, 7zip, rar, ..., чтобы разделить архив на несколько файлов, указанных по размеру. (rar -v, 7z -v и т. д.)

Я знаю, что RAR может создавать архивы таким образом, что можно извлекать только один том из всего набора томов.

Ты можешь сказать tar для разделения архива заданного размера.

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

Вы не сможете изначально сжать архив. Но ты должен уметь gzip а затем распаковать отдельные архивы отдельно. Не забудьте указать новые имена для каждого разделенного архива.

tar cvf archive.tgz -ML 4928307 items_to_archive

И PKZip, и WinZIP поддерживают возможность разделения большого архива на несколько файлов меньшего размера, которые могут быть указаны пользователем.

Я не знаком с dirvish, но если вы хотите просто сделать резервную копию и сжать файлы с ограничением размера файла, определяемым пользователем, возможно, стоит подумать об этом.

Периодически архивируйте (tar / zip / ...) вашу конюшню (не во время работы dirvish!) Dirvish bank / vault, затем используйте формат архива "PAR" (в настоящее время v2) для разделения архива.

Это своего рода «программный RAIF» (RAID на жiles!)

См. Например http://parchive.sourceforge.net/

GNU tar поддерживает многотомные версии. Полезно, когда размер созданного архива превышает емкость одной ленты. Я надеюсь, что все вы это понимаете лента также может означать файл, DVD, CD и т. д.

Из раздела 9.6 руководства GNU tar:

Используйте --multi-volume (-M) в командной строке, и тогда tar, когда достигнет конца ленты, запросит другую ленту и продолжит архивирование. Каждая лента будет иметь независимый архив и может быть прочитана без необходимости в другой. (В качестве исключения файл, который tar архивировал, когда у него закончилась лента, обычно будет разделен между двумя архивами; в этом случае вам нужно извлечь из первого архива, используя --multi-volume (-M) , а затем вставьте вторую ленту, когда будет предложено, чтобы tar мог восстановить обе половины файла.)

акцент мой

Но будьте осторожны с исключением! Возможно, запишите в файлы, размер которых вы можете проверить перед записью файлов архива на DVD. Это можно сделать с помощью сценария. Или уменьшите размер файла до 4,7 Гб, чтобы никогда не образовался архив, охватывающий два DVD.

В linux / unix вы можете использовать split, команда, которая разделит файл на разные части определенного размера (10 байт, 100 МБ и т. д.)