1

Я хочу использовать TAR и максимально эффективно сжимать домашний каталог пользователя. Проблема в том, что в домашнем каталоге этого пользователя есть много больших и уже сжатых (gzip/bzip2) и трудно сжимаемых файлов (двоичных файлов / данных), а также много простых для сжатия файлов (исходный код). Можно ли пропустить сжатие уже сжатых и / или трудно сжимаемых файлов, сжимая только легкие файлы?

Основная цель - максимизировать передачу данных для сети GigE через что-то вроде:

tar cf - path | gzip -c | nc host port

Если я вообще не сжимаю, горлышко бутылки - это сеть. Если я сожму, горлышко бутылки - это время процессора. Дисковый ввод-вывод не является проблемой. Каталог составляет около 150 ТБ, но я застрял с одним путем GigE.

1 ответ1

0

tar не сжимает, gzip делает то, что получает от tar. Но gzip получает здесь только одну вещь (stdout of tar), поэтому, даже если он может выбирать объекты для сжатия, а другие нет, второй вариант выбрать не удастся.

Что вы можете сделать, так это использовать find для сжатых файлов и tar-tee-netcat их без повторного сжатия. Записанный файл может быть использован для второго цикла tar-gzip-netcat в качестве списка исключений, переданного tar (-X).

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