客户反馈同步出问题了,在客户机上试了脚本连不上服务端,一看服务端上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连在一起的互抄代码 。