rsync 命令在共享主机上停止工作 - 我的怀疑正确吗?

rsync 命令在共享主机上停止工作 - 我的怀疑正确吗?

我正在使用“火箭科学” bash 脚本从我的本地机器快速将 Wordpress 代码部署到共享主机。直到昨天一切都正常。现在我只是在与主机管理员讨论,试图表明我这边一切都正常。

脚本如下:

#!/bin/bash
printf "Running gulp\n"
gulp --production

printf "Running rsync\n"
rsync -vzrP --update ~/Code/Project/wp-content/themes/foo-theme [email protected]:/home/mylogin/domains/example.com/public_html/wp-content/themes/ --delete

为了避免一直提示输入密码,我将密钥添加到known_hosts服务器.ssh目录中。几个月来它一直运行良好,没有任何问题。昨天我收到消息“身份已更改...”

Running rsync
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Please contact your system administrator.
Add correct host key in /Users/slick/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/slick/.ssh/known_hosts:7
RSA host key for shared-hosting-server.com has changed and you have requested strict checking.
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.2]

我通过删除建议的第 7 行/Users/slick/.ssh/known_hosts并接受新密钥来解决这个问题。

但这并不能解决rsync问题。

我总是得到:

bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: remote command not found (code 127) at io.c(226) [Receiver=3.1.2]

请回答我的问题或者确认我的理解方式是否正确。

1)我的观点是否正确?该问题是由托管方引起的,而我这边一切正常吗?

2) 我说的对吗?rsync 必须存在于两端(我的本地 Mac)和共享主机上?根据到这个帖子-rsync两端都需要。

3) 我可以毫无问题地远程登录服务器ssh -l mylogin shared-hosting-server.com- 它不要求输入密码,所以我的known_hosts东西设置正确。在远程服务器上我输入:

rsync

得到

-bash:rsync:未找到命令

which rsync

得到

/usr/bin/which:没有 rsync (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/mylogin/bin)

这意味着rsync主机上不再存在或不再对我可用。这是问题的根源吗?

谢谢您的解释。

答案1

rsync命令需要在传输的两侧都安装。

您需要确保它已安装在您的托管服务器上。就这样。

相关内容