Как переместить в архив 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