记录一次rsync命令引起的异常

在开发中,我使用 rsync -avPz --delete ./ 目标机器:目标文件夹将我的源代码同步到目标机器上,达到本地IDE编辑,远程服务器运行的目的。 源码不多,为了省去手动操作的麻烦,我干脆使用watch命令每两秒同步一次。

中间连接内网的VPN断开一次,之后发现,机器无法SSH登陆,提示错误:shell request failed on channel 0,好在管理员账户还是可以登陆,登陆以后使用sudo su - 我的用户名,提示:su: failed to execute /bin/zsh: Resource temporarily unavailable

这就很奇怪了,我确认了zsh是存在的,半信半疑之间,我还是yum重装了zsh,并且修改/etc/password,让我的用户使用bash,结果还是不行。网上搜索问题也都搜不到点子上。

我的直觉告诉我,可能是连接数过多了,于是我使用who命令检查,果然有好几个会话,但是仍然很奇怪,因为平时我工作的时候,偶尔会话开的比这个多的时候也有。 于是我使用 ps aux|grep sshd|grep 我的用户名,好家伙,洋洋洒洒出来一大堆进程,没仔细数,于是使用:

# 注意,此命令有误杀风险,最好先grep出来看一眼再加上 |awk '{print $2}'|xargs -r sudo kill -9 。
sudo ps -ef|grep sshd|grep 我的用户名|grep -v grep|awk '{print $2}'|xargs -r sudo kill -9

全部干掉,恢复正常。 详细起因仍然不清楚,但是这么多ssh会话除了rsync也没谁能建立了。 回头还是使用inotify配合rsync使用吧,偷懒还是不行的。

最后更新于