搜索
您的当前位置:首页正文

# Linux 服务自启动

来源:吉趣旅游网

Linux 服务自启动

自动添加自启动服务脚本:

app_path="$PWD/agent" # 添加需要设置自启动的服务文件绝对路径,可多个

for a in $app_path; do
    if [ ! -x $a ]; then
        chmod +x $a
    fi
    sh_name=${a##*/}
    app_sh="$PWD/bin/$sh_name"
    if [ -f $app_sh ]; then
                rm $app_sh
                echo "rm $app_sh"
    fi
    echo "#! /bin/bash" >> $app_sh
    echo "cd ${a%/*}" >> $app_sh
    echo "$a >$PWD/log/${sh_name}_log.txt 2>&1" >> $app_sh
    chmod +x $app_sh
    service_sh="/lib/systemd/system/${sh_name}.service"
    if [ -f $service_sh ]; then
                systemctl disable $service_sh
                rm $service_sh
                systemctl daemon-reload
    fi
    echo "[Unit]" >> $service_sh
    echo "Description = $sh_name" >> $service_sh
    echo "[Service]" >> $service_sh
    echo "User=root" >> $service_sh
    echo "Type=simple" >> $service_sh
    echo "PIDFile=/run/${sh_name}.pid" >> $service_sh
    echo "ExecStart=$app_sh" >> $service_sh
    echo "ExecReload=/bin/kill -SIGHUP $MAINPID" >> $service_sh
    echo "ExecStop=/bin/kill -SIGINT $MAINPID" >> $service_sh
    echo "Restart=on-failure" >> $service_sh
    echo "RestartSec=30" >> $service_sh
    echo "[Install]" >> $service_sh
    echo "WantedBy = multi-user.target" >> $service_sh
    systemctl daemon-reload
    systemctl enable $service_sh
        systemctl start $sh_name
done

因篇幅问题不能全部显示,请点此查看更多更全内容

Top