Linux开机自动启动服务

背景

Linux在windows虚拟出来的机器,因为Windows更新或者断电等问题,需要频繁重启

Systemctl 自启

systemctl 自带服务

# prometheus可以替换成自己想要自启的服务
systemctl enable prometheus

添加到systemctl服务中

加入系统服务

添加文件名.service的文件

vim /usr/lib/systemd/system/node_exporter.service

[Service]
# 修改目录
ExecStart=/你本地之前下载node的位置/node_exporter --web.listen-address=0.0.0.0:9100
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure


[Install]
WantedBy=multi-user.target

[Unit]
# 简单修改对应描述
Description=node_exporter
After=network.target

更新系统配置

systemctl daemon-reload

设置开机自启

systemctl enable node_exporter.service

服务管理

#启动
systemctl start node_exporter.service
#停止
systemctl stop node_exporter.service
#重启
systemctl restart node_exporter.service

编写脚本自启

以jenkins为例,创建一个jenkins.sh文件

#!/bin/bash

#主要目的用于开机启动服务,不然 启动jenkins.war包没有java -jar的权限
JAVA_HOME=/opt/jdk
pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l`
if [ "$1" = "start" ];then
if [ $pid -gt 0 ];then
echo 'jenkins is running...'
else
## java启动服务 配置java安装根路径,和启动war包存的根路径,这两个路径根据自己实际放的位置更改
nohup $JAVA_HOME/bin/java -jar /opt/jenkins/jenkins.war --httpPort=8080 > system.log 2>&1 &
fi
elif [ "$1" = "stop" ];then
exec ps -ef | grep jenkins | grep -v grep | awk '{print $2}'| xargs kill -9
echo 'jenkins is stop..'
else
echo "Please input like this:"./jenkins.sh start" or "./jenkins stop""
fi

系统自启动文件

编辑自启动文件(记得给该文件运行的权限)

vim /etc/rc.d/rc.local

启动文件配置

#jenkins 文件目录加启动命令
/opt/jenkins/jenkins.sh start  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值