Rsync how to include directories but not files?
我有这样的目录结构和文件
1 2 3 4 5 6 7 | data/ data/a.txt data/folder/ data/folder/b.txt data/folder/folder/ data/folder/folder/c.txt ... |
1 2 3 | data/ data/folder/ data/folder/folder/ |
如何使用rsync和--exclude进行此操作,而不指定每个文件夹,但类似于
谢谢你的帮助!
1 | $ rsync -a -f"+ */" -f"- *" source/ destination/ |
这两个-f参数分别表示"复制所有目录"和"不复制任何其他内容"。
更多详细信息:http://psung.blogspot.com/2008/05/copying-directory-trees-with-rsync.html
1 | rsync -a --include='*/' --exclude='*' source/ destination/ |
基本上,首先包括所有目录,然后排除所有文件。
如果要同步除一个文件夹以外的所有内容,但仍要保留该排除文件夹的目录结构,则应执行以下操作:
1 | $ rsync -a -f"+ /var/log/**/*/" -f"- /var/log/**/*" source/ destination/ |
以排除列表和rsync命令为例。