rsync如何包含被排除的文件

我试图设置一个rsync,排除除.htaccess之外的所有.*文件,但不幸的是,这是行不通的:

 rsync -avP --exclude=".*" --include="./.htaccess" ./. user@server:/dir 

是否有可能排除一般排除规则?

只要颠倒你的论点的顺序:

 rsync -avP --include="./.htaccess" --exclude=".*" ./. user@server:/dir 

第一个匹配模式获胜。 有关更多信息,请参阅rsync(1)联机帮助页的FILTER RULES部分。

你可以做到以下几点

 find . -type f -name ".*" |grep -v .htaccess > dotfiles 

然后使用

 rsync --avP --exclude-from=dotfiles ./. user@server:/dir