параллельное резервирование

Экран Use. Заключить в кавычки из страницы справочника:

   C-a H       (log)         Begins/ends logging of the current window  to
                             the file "screenlog.n".
6
22.09.2016, 01:16
3 ответа

pbzip2 работает неплохо. Как и в случае с ответом выше, tar к stdout и pipe к pbzip2:

$ tar -cf - mydir/ | pbzip2 > mydir.tar.bz2

pbzip2 допускает несколько вариантов, позволяющих регулировать количество процессоров, объем используемой памяти, уровень сжатия и т.д.

http://compression.ca/pbzip2/

Или для одного архива на каталог (не предполагает пробелов или специальных символов в именах каталогов):

for dir in * ; do 
     [[ ! -d ${dir} ]] && continue
     tar cf -  ${dir} | bzip2 > ${dir}.tar.bz2 &
done
1
27.01.2020, 20:27

С GNU Parallel это выглядит так:

parallel tar jcvf /tmp/{= s:/$:: =}.tar.bz2 {} ::: */

или:

parallel tar jcvf /tmp/{}.tar.bz2 {} ::: *

Для лучшего сжатия попробуйте:

parallel tar -I pxz -cvf /tmp/{= s:/$:: =}.tar.xz {} ::: */
0
27.01.2020, 20:27

Просто отправьте tar в stdout и направьте его на pigz . (Скорее всего, вы не хотите распараллеливать доступ к диску, только часть сжатия.):

$ tar c- myDirectory/ | pigz > myDirectory.tar.gz

Простой вызов tar , подобный приведенному выше, в основном только объединяет деревья каталогов обратимым образом. Компрессионная часть может быть отдельной, как в этом примере.

pigz выполняет многопоточное сжатие. Количество используемых потоков можно настроить с помощью -p , и по умолчанию будет установлено количество доступных ядер.

6
27.01.2020, 20:27

Теги

Похожие вопросы