提交 0d93f069 编写于 作者: T Toyo 提交者: GitHub

Add files via upload

上级 cf2af338
#!/usr/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
### BEGIN INIT INFO
# Provides: ocserv - OpenConnect VPN server
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Openconnect VPN server (ocserv) is a VPN server compatible with the openconnect VPN client.
# Description: Start or stop the ocserv
### END INIT INFO
NAME="ocserv"
CONFIG="/etc/ocserv/ocserv.conf"
PID_FILE="/var/run/ocserv.pid"
LOG="/tmp/ocserv.log"
Green_font_prefix="\033[32m" && Red_font_prefix="\033[31m" && Green_background_prefix="\033[42;37m" && Red_background_prefix="\033[41;37m" && Font_color_suffix="\033[0m"
Info="${Green_font_prefix}[信息]${Font_color_suffix}"
Error="${Red_font_prefix}[错误]${Font_color_suffix}"
RETVAL=0
check_running(){
[[ ! -e ${PID_FILE} ]] && return 1
PID=$(cat ${PID_FILE})
if [[ ! -z ${PID} ]]; then
return 0
else
return 1
fi
}
do_start(){
check_running
if [[ $? -eq 0 ]]; then
echo -e "${Info} $NAME (PID ${PID}) 正在运行..." && exit 0
else
echo -e "${Info} $NAME 启动中..."
ocserv -d 1 -c "${CONFIG}" > "${LOG}"
sleep 2s
check_running
if [[ $? -eq 0 ]]; then
echo -e "${Info} $NAME 启动成功 !"
else
echo -e "${Error} $NAME 启动失败 !"
fi
fi
}
do_stop(){
check_running
if [[ $? -eq 0 ]]; then
kill -9 ${PID}
RETVAL=$?
if [[ $RETVAL -eq 0 ]]; then
rm -f ${PID_FILE}
echo -e "${Info} $NAME 停止成功 !"
else
echo -e "${Error} $NAME 停止失败 !"
fi
else
echo -e "${Info} $NAME 未运行"
RETVAL=1
fi
}
do_status(){
check_running
if [[ $? -eq 0 ]]; then
echo -e "${Info} $NAME (PID $(echo ${PID})) 正在运行..."
else
echo -e "${Info} $NAME 未运行 !"
RETVAL=1
fi
}
do_restart(){
do_stop
do_start
}
do_log(){
[[ ! -e ${LOG} ]] && echo -e "${Error} 日志文件不存在 !" && exit 0
echo && echo -e " 按 ${Red_font_prefix}Ctrl+C${Font_color_suffix} 终止查看日志" && echo
tail -f ${LOG}
}
do_test(){
check_running
if [[ $? -eq 0 ]]; then
echo -e "${Info} $NAME (PID ${PID}) 正在运行..." && exit 0
fi
echo && echo -e " 提示 note 的不影响使用,提示 Error 的才影响。" && echo
ocserv -f -t -c ${CONFIG}
}
case "$1" in
start|stop|restart|status|log|test)
do_$1
;;
*)
echo "使用方法: $0 { start | stop | restart | status | log | test }"
RETVAL=1
;;
esac
exit $RETVAL
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册