Я пытаюсь скопировать очень большую файловую систему, используя параллельный конвейер заданий создания / извлечения tar, используя xargs
. Я не могу понять правильный синтаксис.
find image -maxdepth 2 -mindepth 2 -type d -print|xargs -P 48 tar cf - --files-from|(cd /testfiles; tar xf -)
Я получаю эти ошибки:
xargs: tar: завершается сигналом 13
xargs: tar: завершается сигналом 13
Но если я выполню ту же команду без опции -P
, она запустится. Это просто однопотоковый процесс, который займет 50 миллионов файлов в подкаталогах 700K.
Следующее работает, но медленно:
find image -maxdepth 2 -mindepth 2 -type d -print|xargs tar cf - --files-from|(cd /testfiles; tar xf -)
Так что же мне не хватает?