如何使用rsync传输与模式匹配的文件



早上好,我想将目录中的特定文件传输到远程机器,同时保留子目录的体系结构。此外,我只想传输具有特定扩展名的文件(例如".txt"(。我尝试过以下几种:

rsync -aP --include *.txt ./sourceDirectory user@hostIP:destDirectory

但它将所有文件(而不仅仅是那些与.txt模式匹配的文件(复制到目的地(destDirectory(。有人能帮我解这个谜吗?

第页。S.:很明显,目录sourceDirectory包含我的.txt文件所在的子目录。

我过去在将视频rsync到家庭NAS时也遇到过同样的问题。如果你阅读rsync的手册,--include标志实际上意味着";不要排除";。它实际上必须与--exclude标志一起工作。

以下命令将完成您的工作:

rsync -aP --include="*/" --include="*.txt" --exclude="*" sourceDirectory destDirectory

该命令的字面意思是排除所有内容,除了子文件夹和txt文件。

最新更新