我只想镜像特定文件(例如 *.jpg),但 rsync 在目标主机上创建了没有任何 *.jpg 文件的空目录。
我的语法是:
rsync -arv
--include '*/'
--include '*.flv'
--exclude '*'
host_source/ host_dest/
我尝试创建一个包含所有路径和文件模式匹配 *.jpg 的文件:
find source/ -iname *.jpg > myfiles.txt
/* and I use "sed" to filter the parent path to be OK */
因此,现在我运行:
rsyn -ar --files-from=myfiles.txt host_source/ host_dest/
这工作正常;在“host_dest”上没有创建空目录,但是现在如果“host_dest”上有一些应该在“host_source”上删除的文件,rsync 不会删除它们。
那么我该如何告诉 rsync “看”仅适用于文件模式并且不在 host_dest 上创建空目录?
在我发疯之前非常感谢你的回答:)
答案1
人rsync:
-m, --prune-empty-dirs prune empty directory chains from file-list
答案2
尝试从命令行中删除递归选项
rsync -a --files-from=myfiles.txt 主机源/ 主机目标/