配置完pureftpd后,启动它需要写全路径,如果想像启动系统服务那样 service 服务 start 等,下面的脚本就能够实现!
#!/bin/sh
#
# scriptname: /etc/init.d/pureftpd
# chkconfig: - 60 50
# description: pureftpd is a ftp daemon, which is the program \
# that answers incoming ftp service requests.
# processname: pureftpd
#
# author : cnscn
# time : 2006-04-18 09:30
#
#tput func
functput()
{
tput init
for args
do
case "$args" in
green_black)
echo -e -n "\033[;32m"
;;
red_black)
echo -e -n "\033[;31m"
;;
endtput)
tput sgr0
esac
done
}
case "$1" in
start)
ps aux | grep pure-ftp | grep -v grep > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo -n "pureftpd has already been running ... "
functput red_black
echo "[failed]"
functput endtput
exit 1
fi
echo -n "start pureftpd.... "
/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf > /dev/null 2>&1
if [ $? -eq 0 ] ; then
functput green_black
echo " [ok]"
functput endtput
else
functput red_black
echo " [failed] ";
functput endtput
fi
;;
stop)
ps aux | grep pure-ftp | grep -v grep > /dev/null 2>&1
if [ $? -eq 1 ]
then
echo -n "pureftpd has not been runned now ... "
functput red_black
echo "[failed]"
functput endtput
exit 1
fi
echo -n "stop pureftpd... "
killall pure-ftpd > /dev/null 2>&1
if [ $? -eq 0 ] ; then
functput green_black
echo " [ok]"
functput endtput
else
functput red_black
echo " [failed] ";
functput endtput
fi
;;
restart)
ps aux | grep pure-ftp | grep -v grep > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo -n "stop pureftpd... "
killall pure-ftpd > /dev/null 2>&1
if [ $? -eq 0 ] ; then
functput green_black
echo " [ok]"
functput endtput
else
functput red_black
echo " [failed] ";
functput endtput
fi
fi
echo -n "start pureftpd.... "
/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf >/dev/null 2>&1
if [ $? -eq 0 ] ; then
functput green_black
echo " [ok]"
functput endtput
else
functput red_black
echo " [failed] ";
functput endtput
fi
;;
*)
echo "usage: `basename $0` {start | stop | restart}"
;;
esac
exit 0
阅读(4158) | 评论(0) | 转发(3) |