我需要使用以下命令将远程文件同步到本地:
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 代码应该可以工作。
抱歉造成混乱。