Назад | Перейти на главную страницу

Как я могу сделать резервную копию большого количества небольших файлов?

Файловая система 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-.