From 20f776541aed50cdb465dced19d06e7cc5bc48bc Mon Sep 17 00:00:00 2001 From: midoks Date: Thu, 12 Sep 2019 23:31:29 +0800 Subject: [PATCH] Update rsyncd.tpl --- plugins/rsyncd/init.d/rsyncd.tpl | 39 +++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/plugins/rsyncd/init.d/rsyncd.tpl b/plugins/rsyncd/init.d/rsyncd.tpl index 4660b2e18..9765c0f04 100755 --- a/plugins/rsyncd/init.d/rsyncd.tpl +++ b/plugins/rsyncd/init.d/rsyncd.tpl @@ -15,22 +15,39 @@ ROOT_PATH={$SERVER_PATH} p_start(){ - echo "Starting ..." - cd $ROOT_PATH/rsyncd/init.d - if [ -f /var/run/rsyncd.pid ]; then - rm -rf /var/run/rsyncd.pid - fi - /usr/bin/rsync --daemon - echo "rsyncd started" + isStart=$(ps -ef | grep rsync | grep -v grep | grep -v python | awk '{print $2}') + if [ "$isStart" == '' ];then + echo -e "Starting rsync... \c" + if [ -f /var/run/rsyncd.pid ]; then + rm -rf /var/run/rsyncd.pid + fi + /usr/bin/rsync --daemon + sleep 0.3 + isStart=$(ps -ef | grep rsync | grep -v grep | grep -v python | awk '{print $2}') + if [ "$isStart" == '' ];then + echo -e "\033[31mError: rsyncd service startup failed.\033[0m" + return; + fi + echo -e "\033[32mdone\033[0m" + else + echo "Starting rsyncd(pid $isStart) already running" + fi } p_stop(){ - echo "Stopping ..." - ps -ef | grep rsync | grep -v grep | grep -v python | awk '{print $2}' | xargs kill -9 - if [ -f /var/run/rsyncd.pid ]; then + echo -e "Stopping rsyncd... \c"; + pids=$(ps -ef | grep rsync | grep -v grep | grep -v python | awk '{print $2}') + arr=($pids) + + for p in ${arr[@]} + do + kill -9 $p + done + + if [ -f /var/run/rsyncd.pid ]; then rm -rf /var/run/rsyncd.pid fi - echo "rsyncd stopped" + echo -e "\033[32mdone\033[0m" }