rsync 文件 - 无法处理带有子文件夹的文件名?

rsync 文件 - 无法处理带有子文件夹的文件名?

我需要使用以下命令将远程文件同步到本地:

rsync -schavzP --stats --files-from=./filelist.txt -e "ssh -p 22" [email protected]:/home/somewhere/ .

虽然 filelist.txt 包含多个子文件夹文件名:

subfolder/746fbd52ec4441b88f62ead5beb8e57e
subfolder/test

该命令给出以下错误:

rsync: link_stat "/home/somewhere/subfolder/746fbd52ec4441b88f62ead5beb8e57e" failed: No such file or directory

如果我在没有 files-from 的情况下发出 rsync,并直接在命令行中给出远程文件名,它就可以工作。

如果有人能帮助我,我将不胜感激。谢谢。

答案1

像往常一样,事实证明真正的原因并不是我想象的那样。

“filelist.txt”是一个 UTF8 文本文件,文件开头有 BOM 代码作为隐藏代码。即使“vi”,“vim”,“nano”也无法显示它们。

删除了所有这些隐藏代码,bash 脚本中的上述 rsync 代码应该可以工作。

抱歉造成混乱。

相关内容