Я знаю, что можно исключить конкретную папку с помощью такой команды:
tar --exclude='/srv/www/project/node_modules' -zcvf /backup/project.tgz .
Мой вопрос, как исключить все папки с именем node_modules
в пределах всего /srv/www
?
Использовать \( ! -name node_modules \)
чтобы исключить это имя каталога из вывода find.
В -print0
option печатает полное имя файла, за которым следует пустой символ. Это следует использовать в случае имен файлов, содержащих символы новой строки.
Смола -null
опция включает следующие -T
возможность дословного чтения файлов с нулевым символом в конце.
Смола -T -
опция читает файлы из stdin (вывод из канала).
find . -type d \( ! -name node_modules \) -print0 | tar --null -czf /backup/project.tgz -T -