我用来rsync
将目录传输到另一个位置:
rsync -av ./ /var/www/html/some_project --exclude-from=ignore_these.txt
在当前目录中,我有一个名为的子目录testing
和一个名为的文件config.json
在当前目录的更深处,我有另一个名为 的子目录testing
和另一个名为config.json
我希望rsync
转移排除./testing
并且./config.json
但是包括可能存在的所有其他事件。
我正在使用排除文件:
- ignore_these.txt
- testing
- config.json
使用此排除文件,全部 testing
和config.json
项目被排除在外。如果我在每个前面加上./
then没有任何被排除在外。没有任何东西匹配./testing
等等。我不能明确地“包含”子config.json
或子testing
,因为随着项目的发展,这将无法维护。
如何仅排除位于 CWD 内的文件/目录?
答案1
这应该排除{prova1,prova3}
第一级目录中的第一级文件,然后在更深的级别中包含相同的文件:
rsync -av --include={\*/prova1,\*/prova3} --exclude={"prova1","prova3"} aa/ bb/