我正在尝试使用 rsync 将 centos 服务器迁移到新机器,并在目标服务器中运行以下命令:
rsync -auHxv –numeric-ids –exclude=/etc/fstab
–exclude=/etc/sysconfig/network-scripts/* –exclude=/proc/*
–exclude=/tmp/* –exclude=/sys/* –exclude=/dev/* –exclude=/mnt/*
–exclude=/boot/* –exclude=/root/* [email protected]:/* /
然后我收到这个错误:
Unexpected remote arg: [email protected]:/*
rsync error: syntax or usage error (code 1) at main.c(1201) [sender=3.0.6]
答案1
我刚刚收到类似的错误,下面的方法可能会解决您的问题:
- 确保
--exclude
有二前面有连字符 - 用引号括住排除的路径,例如
--exclude '/boot/*'
这个错误令人困惑,因为它实际上与目标参数无关,但通常在它之前的参数语法不正确。
答案2
这里有一条提示:将单词放在echo
命令前面。然后,您将看到完整展开的命令行在程序中是什么样子。
在这种情况下,您会看到扩展的参数*
包含多个路径 - 而不是您想要的或认为您输入的路径 - 这至少为您指明了解决问题的正确方向。