Как переместить в архив 230000 файлов

На одном из подконтрольных серверов в одном каталоге обнаружил ~230000 мелких текстовых файлов общим объемом несколько гигабайтов – разработчики просто забывали чистить за собой отладочные логи одного проекта, и забыли они про это дело больше года назад. Я пока решил не удалять, мало ли они нужны кому.  Отправить их в архив оказалось делом непростым, tar грязно ругнулся:

/usr/bin/tar: Argument list too long

Пришлось искать другое решение:

$ find . -name '*.txt' -print >/tmp/parser.manifest
$ tar -cvzf parser.tar.gz --files-from /tmp/parser.manifest
$ find . -name '*.txt' | xargs rm -v

Осталось вставить разработчикам пистон за такой бардак и настроить профилактическую чистку системы от подобного мусора.

Оригинал: /bin/tar: Argument list too long

Leave a comment

Your comment