方式一、二、三适用于ubuntu,centos推荐使用方式二、方式三

方式一

在ubuntu系统中,如果你使用的apt方式安装的软件,可以使用如下方式直接添加服务的开机自启,

如果你是手动解压缩官网下载的安装包安装的建议使用方式二、方式三。

直接使用apt进行的软件安装,一般情况下系统会默认生成开机自启的脚本文件,你只需要执行固定的命令,即可进行服务的开机自启。

mysql的开机自启

sudo update-rc.d mysql default

nginx的开机自启

sudo update-rc.d nginx default

其他软件的服务自启同理。

如需移除软件的服务自启

sudo update-rc.d -f '移除的软件' remove

方式二

简称为service方式

下面以自启mongo服务为例

1.创建脚本

sudo touch /etc/systemd/system/mongodb.service
修改文件权限:
sudo chmod 777 /etc/systemd/system/mongodb.service

2.在文件中添加下面内容

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target [Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf [Install]
WantedBy=multi-user.target

注意修改你的mongo安装目录及配置文件路径

保存退出

3.使用命令,开机自启

sudo systemctl enable mongodb
sudo systemctl start mongodb # 启动mongo
sudo systemctl status mongodb # 查看mongo状态

方式三

简称init.d方式

cd /etc/init.d
touch mongodb
chmod 777 /etc/init.d/mongodb
update-rc.d mongodb defaults

脚本内容:

#!/bin/sh

### BEGIN INIT INFO
# Provides: mongodb
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO EXE_FILE=/home/mongo/mongodb-linux-aarch64-ubuntu1804-4.2.20/bin
CONFIG_FILE=/data/MongoDB/mongodb.conf . /lib/lsb/init-functions
MONGOPID=`ps -ef| grep mongod| grep -v grep| awk '{print $2}'`
test -x $EXE_FILE || exit 0 case "$1" in
start)
ulimit -n 3000
log_begin_msg "Starting MongoDB server"
$EXE_FILE --config $CONFIG_FILE
log_end_msg 0
;;
stop)
log_begin_msg "Stopping MongoDB server"
if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
fi
log_end_msg 0
;;
status)
ps -aux| grep mongod
;;
*)
log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
exit 1
esac exit 0

注意修改

EXE_FILE=/home/mongo/mongodb-linux-aarch64-ubuntu1804-4.2.20/bin
CONFIG_FILE=/data/MongoDB/mongodb.conf

换成你自己的目录位置

项目jar包的服务自启

这种方式,可以控制你服务的启动顺序

1.在/etc/init.d目录下先创建脚本文件,如super.sh

2.在脚本文件中添加以下内容

#!/bin/sh
### BEGIN INIT INFO
# Provides: autoJar.sh
# Required-start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the svnd.sh daemon
# Description: starts svnd.sh using start-stop-daemon
### END INIT INFO
# 防止jdk加载慢
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export PATH=${JAVA_HOME}/bin:$PATH
cd /usr/local/install/
nohup java -jar super-1.0-SNAPSHOT.jar > nohup.out 2>&1 &

3.增加文件权限

sudo chmod 777 /etc/init.d/super.sh

4.将脚本使用命令添加到启动脚本中去

cd /etc/init.d
sudo update-rc.d -f super.sh defaults 50

5.移除启动脚本

cd /etc/init.d
sudo update-rc.d -f wgkq.sh remove

linux下三种服务开机自启的方式的更多相关文章

  1. Linux 下三种提高工作效率的文件处理技巧

    Linux 下三种提高工作效率的文件处理技巧 在 Linux 下工作,打交道最多的就是文件了,毕竟 Linux 下工作一切皆文件嘛.Linux 也为大家提供了多种用于处理文件的命令,合理使用这些命令可 ...

  2. Linux 下三种方式设置环境变量

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  3. 【环境变量】Linux 下三种方式设置环境变量

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  4. 【环境变量】Linux 下三种方式设置环境变量与获取环境变量

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  5. linux Nginx服务开机自启

    linux Nginx服务开机自启 Nginx 是一个很强大的高性能Web和反向代理服务器.虽然使用命令行可以对nginx进行各种操作,比如启动等,但是还是根据不太方便.下面介绍在linux下安装后, ...

  6. Linux下几种文件传输命令

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  7. Linux下启动Oracle服务和监听程序步骤

    Linux下启动Oracle服务和监听程序启动和关闭步骤整理如下: 1.安装oracle: 2.创建oracle系统用户: 3./home/oracle下面的.bash_profile添加几个环境变量 ...

  8. 如何在linux下搭建svn服务

    • 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...

  9. linux下的crontab服务

    linux下的crontab服务:1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.以某一频率执行任务linux缺 ...

随机推荐

  1. 5-Pandas数据分组的函数应用(df.apply()、df.agg()和df.transform()、df.applymap())

      将自己定义的或其他库的函数应用于Pandas对象,有以下3种方法: apply():逐行或逐列应用该函数 agg()和transform():聚合和转换 applymap():逐元素应用函数 一 ...

  2. 纯css模拟电子钟

    先看效果 演示地址: https://yueminhu.github.io/di...点击左边拉环切换夜间模式. 用到了伪元素生成数字的小三角`currentColor和color: inherit` ...

  3. SVG vs Image, SVG vs Iconfont

    这可能是个别人写过很多次的话题,但貌似由于兼容性的原因?图标的显示还是用着 Iconfont 或者 CSS Sprite 的形式?希望通过自己新瓶装旧酒的方式能重新引导一下问题. SVG vs Ima ...

  4. 递归函数求n!

    #include<iostream> using namespace std; int main() { int n; cin>>n; int jieceng(int); co ...

  5. Linux小工具的应用,grep,sort,wc,cut

    小工具的使用: 1.管道(|):连接多个命令的工具,进程之间通讯的一种方式 用法:命令1 | 命令2 | 命令3....2.grep工具:行过滤,打印出的结果一行一行的 用法:grep options ...

  6. eclipse 下 SpringBoot 工程使用Maven打包

    eclipse 下 SpringBoot 工程使用Maven打包 1. pom.xml 添加打包配置 点击查看代码 <!-- 打包使用 --> <build> <plug ...

  7. git设置忽略提交文件

    直接在idea进行操作 1.找到想要忽略提交的文件,点击右键,然后如下操作: 2.然后就会发现被忽略的文件名变成了灰色,在项目最下方会生成ignore文件夹 3.文件夹内可以看到我们忽略的文件 4.注 ...

  8. springboot打包时候忽略编译测试类

    方法1.可以在依赖中加入插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId ...

  9. Blazor 生命周期

    执行周期 1. SetParametersAsync 2. OnInitializedAsync(调用两次) 和 OnInitialized: 3. OnParametersSetAsync 或 On ...

  10. signed integer overflow整数溢出

    整数越界情况 1. 数组下标越界, 大于N或者小于0 2. 数字过大,可以选择取个模,或者换long long, double  我笑了 还有一个暂时没有好的解决方法的:string s:cin/输入 ...