Simple Linux Panel
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
mdserver-web/plugins/rsyncd/init.d/rsyncd.tpl

70 lines
1.6 KiB

#!/bin/sh
# chkconfig: 2345 55 25
# description: rsyncd Service
### BEGIN INIT INFO
# Provides: rsyncd
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts rsyncd
# Description: starts the rsyncd
### END INIT INFO
ROOT_PATH={$SERVER_PATH}
p_start(){
isStart=$(ps -ef | grep rsync | grep 'daemon' | 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 --config=/etc/rsyncd.conf
sleep 0.3
isStart=$(ps -ef | grep rsync | grep 'daemon' | 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 -e "Stopping rsyncd... \c";
pids=$(ps -ef | grep rsync | grep 'daemon' | 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 -e "\033[32mdone\033[0m"
}
case "$1" in
start)
p_start
;;
stop)
p_stop
;;
restart|reload)
p_stop
sleep 0.3
p_start
;;
*)
echo "Please use start or stop as first argument"
;;
esac