LinuxForum.Fans
Тема

Сложить в архив кучу проектов. Как лучше поступить ?

Автор: nikpost 2 сообщений 587 просмотров
05.05.2022 23:07 · отредактировано #437547

Привет!
есть много-много проектов завершенных, но которые необходимо сохранить на будущее
каждый проект - это папка, внутри которой все данные проекта рассортированные по вложенным папкам на разных уровнях. средний размер проекта - 2-3 террабайта. внутри проекта много разнокалиберных файлов - есть маленькие, есть большие, есть гигантские

задача - перенести все это в облако, например на AWS S3.
вопрос как лучше это сделать. В каком виде.

пока есть такие идеи:
1) упаковываю каждый проект в разбитый на части tar по 150Gb часть. то есть проект xxx имеет вид xxx.tar00 xxx.tar01 xxx.tar02 и тд
2) тоже самое но добавляю упаковку gzip (ключ z в команде tar). тарболл становится немного меньше но страдает скорость упаковки/распаковки

возможно кто-то сталкивался с такой тривиальной задачей и может подсказать нормальное и удобное решение.

и еще вдогонку вопрос
есть два способа сделать многотомный tar архив
паковать tar в файл и по пайпу передавать в split например tar -xvf - xxx | split -d -b150G xxx.tar

либо использовать встроенные возможности самого tar вроде --tape-length=150G --file=xxx{00..50}.tar
но слышал, что во втором случае разбитый таким образом архив возможно НЕ удастся распаковать если вдруг на другом компьютере будет другая версия tar

хотелось бы узнать мнение опытных админов по этим вопросам...
Спасибо

06.05.2022 12:10 #437548
"nikpost" написал:
...тарболл становится немного меньше но страдает скорость упаковки/распаковки

Здравствуйте.

Для экономии времени, места и денег можно заменить gzip на zstd. Только вот есть нюансы: gzip распространён, а zstd - относительно новый и ставится дополнительно.

Wiki (Zstandard)
Zstandard - новый, быстрый и эффективный алгоритм сжатия данных (Автор: Уваров А.С.)
zstd - алгоритм быстрого сжатия данных, используемый Facebook (Источник: Linux-Console.net)

Пример: tar --zstd -cvf 111.tar.zst ./111

С уровнями сжатия играться не рекомендую, это может ухудшить результат. Оптимальным является умолчание (default).

Также заранее непонятно, на какую аудиторию будет рассчитан Ваш multi-part архив? C линуксоидами ясно - они полезут в терминал, а с виндусоидами что делать? Им ведь придётся взять бубен побольше и где-то прочитать инструкцию о том, как это всё скачать, переименовать и собрать.

Думается, что тарить (+ --zstd) Вам придётся в один файл, чтобы на винде распаковали хотя бы 7zip-ом, тем более, что размер автором не лимитирован. :)

Дополнительно:
---
Uploading objects (Amazon Simple Storage Service)

Загрузка объектов по частям. Используя API многостраничной загрузки, вы можете загружать большие объекты, до 5 ТБ. API многостраничной загрузки предназначен для улучшения загрузки для более крупных объектов. Вы можете загружать объекты по частям. Эти части объекта могут быть загружены независимо, в любом порядке и параллельно. Вы можете использовать многостраничную загрузку для объектов размером от 5 МБ до 5 ТБ.

*** с такими объёмами не работал, поэтому написанное выше - мнение субъективное. Может быть пригодится в процессе принятия решения.

Войдите или зарегистрируйтесь, чтобы ответить.