systemctl配置

Signed-off-by: hitsword <admin@hitsword.com>
master
hitsword 2020-03-05 21:10:02 +08:00
parent 18842681cc
commit 7278353014
5 changed files with 45 additions and 21 deletions

View File

@ -9,8 +9,9 @@ User=root # 设置服务运行的用户
Group=root # 设置服务运行的用户组 Group=root # 设置服务运行的用户组
KillMode=control-group # 定义systemd如何停止服务 KillMode=control-group # 定义systemd如何停止服务
PIDFile=/usr/local/udptools/pid/udp2raw-c%i.pid # 存放PID的绝对路径 PIDFile=/usr/local/udptools/pid/udp2raw-c%i.pid # 存放PID的绝对路径
Restart=no # 定义服务进程退出后systemd的重启方式默认是不重启 Restart=no # 定义服务进程退出后systemd的重启方式默认是不重启
ExecStart=/usr/local/udptools/udp2raw-c%i.sh # 服务启动命令,命令需要绝对路径 ExecStart=/usr/local/udptools/udp2raw-c%i.sh start # 服务启动命令,命令需要绝对路径
ExecStop=/usr/local/udptools/udp2raw-c%i.sh stop # 服务停止命令,命令需要绝对路径
PrivateTmp=true # 表示给服务分配独立的临时空间 PrivateTmp=true # 表示给服务分配独立的临时空间
[Install] [Install]

View File

@ -9,8 +9,9 @@ User=root # 设置服务运行的用户
Group=root # 设置服务运行的用户组 Group=root # 设置服务运行的用户组
KillMode=control-group # 定义systemd如何停止服务 KillMode=control-group # 定义systemd如何停止服务
PIDFile=/usr/local/udptools/pid/udp2raw-s%i.pid # 存放PID的绝对路径 PIDFile=/usr/local/udptools/pid/udp2raw-s%i.pid # 存放PID的绝对路径
Restart=no # 定义服务进程退出后systemd的重启方式默认是不重启 Restart=no # 定义服务进程退出后systemd的重启方式默认是不重启
ExecStart=/usr/local/udptools/udp2raw-s%i.sh # 服务启动命令,命令需要绝对路径 ExecStart=/usr/local/udptools/udp2raw-s%i.sh start # 服务启动命令,命令需要绝对路径
ExecStop=/usr/local/udptools/udp2raw-s%i.sh stop # 服务停止命令,命令需要绝对路径
PrivateTmp=true # 表示给服务分配独立的临时空间 PrivateTmp=true # 表示给服务分配独立的临时空间
[Install] [Install]

View File

@ -8,9 +8,10 @@ Type=forking # 表示后台运行模式。
User=root # 设置服务运行的用户 User=root # 设置服务运行的用户
Group=root # 设置服务运行的用户组 Group=root # 设置服务运行的用户组
KillMode=control-group # 定义systemd如何停止服务 KillMode=control-group # 定义systemd如何停止服务
PIDFile=/usr/local/udptools/pid/udpspeeder-c%i.pid # 存放PID的绝对路径 PIDFile=/usr/local/udptools/pid/udpspeeder-c%i.pid # 存放PID的绝对路径
Restart=no # 定义服务进程退出后systemd的重启方式默认是不重启 Restart=no # 定义服务进程退出后systemd的重启方式默认是不重启
ExecStart=/usr/local/udptools/udpspeeder-c%i.sh # 服务启动命令,命令需要绝对路径 ExecStart=/usr/local/udptools/udpspeeder-c%i.sh start # 服务启动命令,命令需要绝对路径
ExecStop=/usr/local/udptools/udpspeeder-c%i.sh stop # 服务停止命令,命令需要绝对路径
PrivateTmp=true # 表示给服务分配独立的临时空间 PrivateTmp=true # 表示给服务分配独立的临时空间
[Install] [Install]

View File

@ -9,8 +9,9 @@ User=root # 设置服务运行的用户
Group=root # 设置服务运行的用户组 Group=root # 设置服务运行的用户组
KillMode=control-group # 定义systemd如何停止服务 KillMode=control-group # 定义systemd如何停止服务
PIDFile=/usr/local/udptools/pid/udpspeeder-s%i.pid # 存放PID的绝对路径 PIDFile=/usr/local/udptools/pid/udpspeeder-s%i.pid # 存放PID的绝对路径
Restart=no # 定义服务进程退出后systemd的重启方式默认是不重启 Restart=no # 定义服务进程退出后systemd的重启方式默认是不重启
ExecStart=/usr/local/udptools/udpspeeder-s%i.sh # 服务启动命令,命令需要绝对路径 ExecStart=/usr/local/udptools/udpspeeder-s%i.sh start # 服务启动命令,命令需要绝对路径
ExecStop=/usr/local/udptools/udpspeeder-s%i.sh stop # 服务停止命令,命令需要绝对路径
PrivateTmp=true # 表示给服务分配独立的临时空间 PrivateTmp=true # 表示给服务分配独立的临时空间
[Install] [Install]

View File

@ -41,7 +41,7 @@ if [ ! -d "/usr/local/udptools/conf" ]; then
mkdir /usr/local/udptools/conf mkdir /usr/local/udptools/conf
fi fi
buildServer() build_Udp2raw_Server()
{ {
#写入Udp2Raw配置 #写入Udp2Raw配置
cat > /usr/local/udptools/conf/udp2raw-s${MPORT}.conf <<EOF cat > /usr/local/udptools/conf/udp2raw-s${MPORT}.conf <<EOF
@ -113,8 +113,10 @@ start(){
} }
stop(){ stop(){
#结束进程 #结束进程
status > /dev/null 2>&1
PID=`cat $PID_FILE` PID=`cat $PID_FILE`
kill $PID >/dev/null 2>&1 kill $PID >/dev/null 2>&1
sleep 1
status status
} }
showLog(){ showLog(){
@ -151,6 +153,20 @@ EOF
chmod +x /usr/local/udptools/udp2raw-s${MPORT}.sh chmod +x /usr/local/udptools/udp2raw-s${MPORT}.sh
#判断服务模式
if pgrep systemd-journal > /dev/null; then
if [ ! -f "/usr/lib/systemd/system/udp2raw-server@.service" ]; then
cp ./systemctl/service/udp2raw-server@.service /usr/lib/systemd/system/
fi
systemctl enable udp2raw-server@${MPORT}.service
systemctl start udp2raw-server@${MPORT}.service
else
SYSTEMCTL=0
fi
}
build_UdpSpeeder_Server()
{
#写入UdpSpeeder脚本 #写入UdpSpeeder脚本
cat > /usr/local/udptools/udpspeeder-s${MPORT}.sh <<EOF cat > /usr/local/udptools/udpspeeder-s${MPORT}.sh <<EOF
#!/bin/bash #!/bin/bash
@ -170,7 +186,7 @@ LOG_FILE=/usr/local/udptools/log/udpspeeder-s${MPORT}.log
PID_FILE=/usr/local/udptools/pid/udpspeeder-s${MPORT}.pid PID_FILE=/usr/local/udptools/pid/udpspeeder-s${MPORT}.pid
EOF EOF
cat >> /usr/local/udptools/udp2raw-s${MPORT}.sh <<"EOF" cat >> /usr/local/udptools/udpspeeder-s${MPORT}.sh <<"EOF"
status(){ status(){
PID=`ps aux|grep -e "$CONFIG"|grep -v sudo|grep -v grep | awk '{print $2}'` PID=`ps aux|grep -e "$CONFIG"|grep -v sudo|grep -v grep | awk '{print $2}'`
if [ ! -n "$PID" ]; then if [ ! -n "$PID" ]; then
@ -188,8 +204,10 @@ start(){
} }
stop(){ stop(){
#结束进程 #结束进程
status > /dev/null 2>&1
PID=`cat $PID_FILE` PID=`cat $PID_FILE`
kill $PID >/dev/null 2>&1 kill $PID >/dev/null 2>&1
sleep 1
status status
} }
showLog(){ showLog(){
@ -223,17 +241,18 @@ log)
esac esac
exit 0 exit 0
EOF EOF
chmod +x /usr/local/udptools/udpspeeder-s${MPORT}.sh
#判断服务模式 #判断服务模式
if pgrep systemd-journal > /dev/null; then if pgrep systemd-journal > /dev/null; then
SYSTEMCTL=1 if [ ! -f "/usr/lib/systemd/system/udpspeeder-server@.service" ]; then
else cp ./systemctl/service/udpspeeder-server@.service /usr/lib/systemd/system/
SYSTEMCTL=0
fi fi
echo $PASSWD systemctl enable udpspeeder-server@${MPORT}.service
echo $RPORT systemctl start udpspeeder-server@${MPORT}.service
echo $MPORT else
echo $LPORT SYSTEMCTL=0
fi
} }
buildClient() buildClient()
@ -343,6 +362,7 @@ case $RUNMODE in
echo"" echo""
done done
buildServer build_Udp2raw_Server
build_UdpSpeeder_Server
;; ;;
esac esac