Файловая система Windows монтируется через samba, и я пытаюсь сжать большое количество небольших файлов:
find /path/to/files/ -newermt "2012-01-01 00:00:00" -path '*/*log.txt' -exec tar cvfz log_file_system.tar.gz {} +
но через некоторое время размер архива сбрасывается.
/path/to/files/log1.txt
tar: Removing leading `/' from member names <- the size of the tar became zero
/path/to/files/log2.txt
Почему это происходит? Как я могу это исправить?
Параметр -exec "+" создает только командную строку ограниченной длины. Когда общая длина командной строки превышает этот размер, запускается новая командная строка. Эта проблема похожа на xargs.
Вы захотите передать ввод имени файла в tar, используя -T-.