3

Я беру ночное резервное копирование с моего сервиса веб-хостинга как .tar.gz. Данные меняются очень мало каждую ночь (<10 МБ).

Я хотел бы заархивировать эти файлы и дедуплицировать (сплошное сжатие) файлы в нескольких архивах .tar.gz без извлечения каждого отдельного файла резервной копии.

Упрощенный пример:

2013-02-24.tar.gz содержит a.pdf 2013-02-25.tar.gz содержит a.pdf и b.pdf

Я хочу сжать и архивировать 2013-02-24.tar.gz и 2013-02-25.tar.gz и хранить a.pdf только один раз.

Единственный способ получить дедупликацию - распаковать оба .tar.gz и снова упаковать их (используя сплошное сжатие). Но это еще один дополнительный шаг, и он, вероятно, сотрет информацию о файловой системе из-за разных ОС. Просто tar/gz оба файла .tar.gz не будут работать, окончательный размер этого архива будет суммой обоих оригинальных файлов .tar.gz.

Есть ли способ использовать дедупликацию для содержимого нескольких файлов .tar.gz?

4 ответа4

0

Существует отличное решение, которое делает то, что вы просите, оно дедуплицирует блоки внутри нескольких файлов TAR. Это не только удаляет файлы, которые не были изменены, но также сохраняет только измененные части похожих файлов.

Однако это решение клиент / сервер, где сервер является платным предложением. Но из-за дедупликации это очень доступно, кроме того, оно предлагает шифрование и безопасно хранит файлы.

Клиент использует обычный tar-код, поэтому использовать команду очень просто.

0

Я опаздываю на вечеринку, но требования, по-видимому, сводятся к следующему:

  1. Дублирующее содержимое файла tarball
  2. Должен быть в состоянии восстановить оригинальные файлы GZIP

Сначала это кажется невозможным. Дедупликация обычно зависит от возможности работы с несжатыми файлами. Но потом я понял, что если вы можете полагаться на то, что gunzip/gzip создает тот же файл (лучше протестируйте его), то вы можете использовать zbackup, который на самом деле предназначен для дедупликации тарболов. Так:

  1. gunzip тарболы, которые вы получите
  2. gzip архивы еще раз, чтобы убедиться, что они точно совпадают (должно быть, если реализация gzip такая же, но уровень сжатия может варьироваться, например, вам может понадобиться это выяснить)
  3. Накорми тарболлы на zbackup
0

Я не думаю, что вы можете сделать то, что вы пытаетесь сделать это "легко"

Если файлы .tgz достаточно похожи, вы можете использовать xdelta и полностью создать резервную копию первого файла, а затем xdelta с разницей между первым и вторым файлом.

Альтернативное частичное решение было бы использовать rzip (или lrzip ??) который предназначен для нахождения сжатия между очень большими файлами - хотя он и не идеален, он, вероятно, будет значительно меньше того, что вы используете в данный момент, за счет процессора и памяти.

0

Я использую squashfs для аналогичных целей:

mksquashfs dir1 dir2 dir3 backup_file.fs -keep-as-directory

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