Linux的Rsync服务端进程太多,导致卡死

客户反馈同步出问题了,在客户机上试了脚本连不上服务端,一看服务端上rsync进程几十个;一个一个杀到什么时候去了。在网上找了个脚本:

#!/bin/bash
#
# Propram:
#       Kill the redundant Rsync process

for i in `ps -ef |grep rsync |grep -v grep |awk {'print $2'}`
do
  echo "$i"
  kill -9 $i
  #echo "Kill $i successed."
done
rm -f /var/run/rsyncd.pid
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf

echo 'start done';

原代码只有杀死进程的部分,我在后面加了重启服务的部分。

这里需要注意一点:文件名不能命名为带有rsync字符的,否则会在 kill -9的时候将脚本自己的进程也给干死,后面的启动就完不成了,你还得去手动启动。

以上亲测可用,网上有很多是抄自同一个地方的,for循环不管用,特别昌有两个grep连在一起的互抄代码 。

你可能感兴趣的:(linux,服务器,运维)