早上好,我想将目录中的特定文件传输到远程机器,同时保留子目录的体系结构。此外,我只想传输具有特定扩展名的文件(例如".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文件。