请稍侯

frp启动脚本

14 May 2021
更多

脚本如下,支持以下功能 (未输入操作名 {start|stop|restart|status} )

  • 启动
  • 重启
  • 查看状态
#!/bin/bash
#需要启动的应用名
AppName=frp
#启动命令
startComment=`/usr/bin/nohup /root/frp_0.33.0_linux_amd64/frps -c /root/frp_0.33.0_linux_amd64/frps.ini > /tmp/frp.log 2>&1 &`
if [ "$1" = "" ];
then
    echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
    exit 1
fi
 
if [ "$AppName" = "" ];
then
    echo -e "\033[0;31m 未输入应用名 \033[0m"
    exit 1
fi
 
function start()
{
    PID=`ps -ef |grep $AppName|grep -v grep|awk '{print $2}'`
 
	if [ x"$PID" != x"" ]; then
	    echo "$AppName is running..."
	else
		$startComment
		echo "Start $AppName success..."
	fi
}
 
function stop()
{
    echo "Stop $AppName"
	
	PID=""
	query(){
		PID=`ps -ef |grep $AppName|grep -v grep|awk '{print $2}'`
	}
 
	query
	if [ x"$PID" != x"" ]; then
		kill -TERM $PID
		echo "$AppName (pid:$PID) exiting..."
		while [ x"$PID" != x"" ]
		do
			sleep 1
			query
		done
		echo "$AppName exited."
	else
		echo "$AppName already stopped."
	fi
}
 
function restart()
{
    stop
    sleep 2
    start
}
 
function status()
{
    PID=`ps -ef |grep $AppName|grep -v grep|wc -l`
    if [ $PID != 0 ];then
        echo "$AppName is running..."
    else
        echo "$AppName is not running..."
    fi
}
 
case $1 in
    start)
    start;;
    stop)
    stop;;
    restart)
    restart;;
    status)
    status;;
    *)
 
esac