我有一个目录结构和这样的文件
data/
data/a.txt
data/folder/
data/folder/b.txt
data/folder/folder/
data/folder/folder/c.txt
...
a.txt
,b.txt
和c.txt
是由计算机生成并经常续订的大型文件。它们不应该被备份 - 但我想备份目录结构:
data/
data/folder/
data/folder/folder/
如何使用rsync和--exclude-from执行此操作,而不指定每个文件夹,但是rsync -a data/* --exclude-from=exclude.rsync "" --onlyfoldersandnotfiles""
之类的内容?
感谢您的帮助!
答案 0 :(得分:26)
$ rsync -a -f"+ */" -f"- *" source/ destination/
“两个-f参数分别表示”复制所有目录“,然后”不复制任何其他内容“。”
更多详情:http://psung.blogspot.com/2008/05/copying-directory-trees-with-rsync.html
答案 1 :(得分:17)
rsync -a --include='*/' --exclude='*' source/ destination/
基本上,首先包括所有目录,然后排除所有文件。
答案 2 :(得分:0)
如果要同步除一个文件夹以外的所有内容,但仍要保留该排除文件夹的目录结构,则应执行以下操作:
$ rsync -a -f"+ /var/log/**/*/" -f"- /var/log/**/*" source/ destination/
答案 3 :(得分:0)
rsync -a -f"-! */" source/ destination/
过滤规则表示“排除目录以外的任何内容。”