rsync 包括不使用目录
rsync include not working with directories
如果文件在源位置的根目录中,我使用 rsync include 成功,但如果它在目录中则不成功
这个有效:
rsync -aP --omit-dir-times \
-e 'ssh -p100 -i /home/me/.ssh/id_rsa.pub' \
--include fixed.xml --include file2.txt \
--exclude * \
/home/me/Desktop/test/ me@192.168.1.10:here/
这不是:
rsync -aP --omit-dir-times \
-e 'ssh -p100 -i /home/me/.ssh/id_rsa.pub' \
--include fixed.xml --include 50/200/file2.txt \
--exclude * \
/home/me/Desktop/test/ me@192.168.1.10:here/
有人以前见过这个问题吗?
这种情况实际上在 rsync 手册页中用示例进行了描述。
解决方案是将目录包含到您想要的文件中:
--include 50 --include 50/200 --include 50/200/file2.txt
如果这种情况经常发生,那么你可以添加这个,这是一个较短的命令,但会强制 rsync 扫描很多你不关心的目录:
--include '*/' --prune-empty-dirs --include 50/200/file2.txt
需要修剪以防止它创建整个目录结构,减去文件,但应谨慎使用。
如果文件在源位置的根目录中,我使用 rsync include 成功,但如果它在目录中则不成功
这个有效:
rsync -aP --omit-dir-times \
-e 'ssh -p100 -i /home/me/.ssh/id_rsa.pub' \
--include fixed.xml --include file2.txt \
--exclude * \
/home/me/Desktop/test/ me@192.168.1.10:here/
这不是:
rsync -aP --omit-dir-times \
-e 'ssh -p100 -i /home/me/.ssh/id_rsa.pub' \
--include fixed.xml --include 50/200/file2.txt \
--exclude * \
/home/me/Desktop/test/ me@192.168.1.10:here/
有人以前见过这个问题吗?
这种情况实际上在 rsync 手册页中用示例进行了描述。
解决方案是将目录包含到您想要的文件中:
--include 50 --include 50/200 --include 50/200/file2.txt
如果这种情况经常发生,那么你可以添加这个,这是一个较短的命令,但会强制 rsync 扫描很多你不关心的目录:
--include '*/' --prune-empty-dirs --include 50/200/file2.txt
需要修剪以防止它创建整个目录结构,减去文件,但应谨慎使用。