Копировать файлы, исключая какую-либо папку в Linux - PullRequest
2 голосов
/ 23 ноября 2011

Я хочу создать скрипт, который скопирует мой проект и сделает его zip архивом.Я хочу исключить все папки с именем .svn во всех подкаталогах.Любое предложение?

Ответы [ 3 ]

0 голосов
/ 23 ноября 2011

Я бы использовал правила фильтра rsync для этого:

Создайте файл .rsync-filter (в каталоге источника), содержащий, например,

-.svn/

Теперь запустите rsync как превознесенную копию:

rsync -aFF origin/ destination/
0 голосов
/ 23 ноября 2011

Просто вызовите утилиту zip в папке вашего проекта и используйте параметр -r для рекурсии, а параметр -x для исключения файлов / папок по шаблону.

zip -r target-filename.zip source-folder -x \*exclude-pattern\*

exclude-pattern в вашем случае будет .svn

См. Также man zip

0 голосов
/ 23 ноября 2011

Вы можете сделать это, используя rsync. Хотя он предназначен для синхронизации каталогов между серверами, его также можно использовать для копирования каталогов на одном компьютере.

rsync имеет опцию --exclude для исключения файлов и каталогов по шаблону. См. http://www.samba.org/ftp/rsync/rsync.html для справки и примеров.

...