linux下vsftpd启动脚本,正在学习shell的朋友可以参考下其调用服务的写法。
如果能自己试着写一个类似的linux服务的启动脚本,相信你的shell水平会长进很多哦。
复制代码 代码如下:
#!/bin/bash
#chkconfig: 345 60 50
#description:vsftpd
. /etc/rc.d/init.d/functions #调用系统函数,就是启动之后显示那个[确定]或者[OK]
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
vsftpd=/usr/local/sbin/vsftpd #vsftp启动脚本中配置vsftpd安装的路径
prog=vsftpd
RETVAL=0
start() {
if [ -n "`/sbin/pidof $prog`" ]
then
echo "$prog: already running"
echo
return 1
fi
echo "Starting $prog:"
base=$prog
$vsftpd &
RETVAL=$?
usleep 5000000
if [ -z "`/sbin/pidof $prog`" ]
then
RETVAL=1
fi
if [ $RETVAL -ne 0 ]
then
echo "Startup failure" #vsftp启动脚本启动失败提示
else
echo "Startup success" #vsftp启动脚本启动成功提示
fi
echo
return $RETVAL
}
stop() {
echo "Stopping $prog:"
killall $vsftpd
RETVAL=$?
if [ $RETVAL -ne 0 ]
then
echo "Shutdown failure" #vsftp启动脚本停止失败提示
else
echo "Shutdown success" #vsftp启动脚本停止成功提示
fi
echo
}
case "$1" in
start)
start #vsftp启动脚本服务启动操作
;;
stop)
stop #vsftp启动脚本服务停止操作
;;
status)
status $vsftpd
RETVAL=$? #vsftp启动脚本服务状态
;;
restart)
stop
usleep 5000000 #vsftp启动脚本服务重启操作
start
;;
*)
echo "Usage: $prog {start|stop|restart|status}"
exit 1
esac
exit $RETVAL