linux开机启动脚本
文章目录
- 第一种:配置/etc/rc.local 大概分为5个步骤:
- 1.进入/etc目录,查找rc.local文件:
- 2.给/etc/rc.d/rc.local 读写权限:
- 3.reboot重启linux:
- 4.写入执行脚本命令:
- 5.自动启动脚本代码:
- 第二种:添加system启动文件
- 1.进入/etc/systemd/system,创建应用脚本:
- 2.复制脚本内容:
- 3.添加为系统开机启动:
- 4.测试重启:reboot
第一种:配置/etc/rc.local 大概分为5个步骤:
建议:先理解整个业务的完整流程,再去按照步骤做相应的操作,理解更深,不容易忘记
1.进入/etc目录,查找rc.local文件:
ll rc.*
2.给/etc/rc.d/rc.local 读写权限:
chmod + 777 /etc/rc.d/rc.local
3.reboot重启linux:
此时开机时就会自动加载/etc/rc.d/rc.local 文件
4.写入执行脚本命令:
linux可以开机自动加载/etc/rc.d/rc.local后,将自动执行脚本的执行命令写入到rc.local文件
5.自动启动脚本代码:
注意:着重提示一下,代码中APP_NAME的名字一定要不常用,不能出现相似的。不然脚本就会有bug,经调试了很久,才发现这个问题
#!/bin/bash
APP_NAME=minio-server
usage() { echo "Usage: sh 脚本名称.sh [start|stop|restart|status]" exit 1
} process_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` if [ -z "${pid}" ]; then return 1 else return 0 fi
} start(){ process_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is already running. pid=${pid} ." else nohup /home/minio/${APP_NAME} server /home/minio/data > /home/minio/data/minio.log 2>&1 &#BUILD_ID=dontKillMe nohup java -jar /home/sn_software/3I-tools.jar --spring.profiles.active=dev > ./deploy-sn-tool.log 2>&1 & echo "${APP_NAME} started"fi
} stop(){ process_exist if [ $? -eq "0" ]; then kill -9 $pid echo "${APP_NAME} stoped"else echo "${APP_NAME} is not running" fi
} status(){ process_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is NOT running." fi
} restart(){ stop start
} case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;;
esac
第二种:添加system启动文件
将启动脚本放在此目录 /etc/systemd/system 大概分为4个步骤:
建议:先理解整个业务的完整流程,再去按照步骤做相应的操作,理解更深,不容易忘记
1.进入/etc/systemd/system,创建应用脚本:
> cd /etc/systemd/system
> touch wms.service
> chmod 644 wms.service
2.复制脚本内容:
[Unit]
Description=mes service
After=syslog.target network.target[Service]
Type=simple ExecStart=/usr/local/jdk1.8/bin/java -jar /home/mes/mes-service/mes.jar --spring.profiles.active=prod &
ExecStop=/bin/kill -15 $MAINPID User=root
Group=root [Install]
WantedBy=multi-user.target
3.添加为系统开机启动:
> systemctl enable mes
4.测试重启:reboot
linux开机启动脚本相关推荐
- linux 自启动脚本顺序,(linux开机启动脚本的顺序.doc
(linux开机启动脚本的顺序 linux开机启动脚本的顺序 来源: ChinaUnix博客 日期: 2009.11.07 13:54 (共有0条评论) 我要评论 ? 如果[url=javascrip ...
- linux开机启动脚本的顺序
如果 [url=javascript:;]服务[/url] 器重启之后需要手工开启许多服务.工作及以后的维护相对比较繁琐.特地总结了下 [url=javascript:;]linux[/url] ...
- linux 开机启动脚本
linuxrc(bin/busybox) --> etc/inittab --> etc/init.d/rcS --> etc/init.d/Sxx linuxrc是指向busybo ...
- linux开机脚本文件下载,linux 开机启动脚本
sh /etc/init.d/inotifywaitreloadnginx.sh 方法一 1.赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径) chmod +x / ...
- linux 开机启动脚本或者服务
https://blog.csdn.net/zhuchunyan_aijia/article/details/53811368 转载于:https://www.cnblogs.com/diyunpen ...
- Linux开机启动流程分析
Linux开机启动十步骤 收藏分享2012-2-6 11:15| 发布者: 红黑魂| 查看数: 1366| 评论数: 0|来自: 比特网 摘要: 开机过程指的是从打开计算机电源直到LINUX显示用户登 ...
- linux自定义开机启动脚本
一.概述 使用IDEA生成的linux系统可执行程序.sh文件,手动启动没有问题,开机自启动踩了不少坑,网上提供的三种方法都不适合, 有一种方法是在/etc/rc.local文件中加上启动脚本的命令, ...
- 嵌入式linux debian开机启动脚本编写
一.介绍 debian和其他linux开机启动有所区别,这里给出开机启动的编写方法 二.示例 示例模板 #!/bin/sh ### BEGIN INIT INFO # Provides: test # ...
- linux共享文件夹开机自启,ubuntu16.04.6和 18.04添加开机启动脚本,重启后自动挂载vmware的共享文件夹...
vmware安装ubuntu server16.04.6后使用共享文件夹,但是每次重启都是执行一个命令才可以挂载上(ubuntu桌面版的不需要),原因没有深究,所以就想到啦加个开机脚本来执行那个挂载命 ...
最新文章
- 【java】人脸识别 虹软ArcFace 2.0-抽取人脸特征并做比对
- 用 Java 实现断点续传 (HTTP)
- ctime库函数的使用
- iOS 序列化与反序列化
- 【bzoj2693】jzptab 莫比乌斯反演+线性筛
- matlab 万年历,matlab时钟万年历 matlab时钟万年历(附word说明文档): 
程序主要 联合开发网 - pudn.com...
- oracle 月累计,oracle 可有什么方法 统计每月累积购买人数?
- 集成学习——LightGBM原理理解
- Nginx(一):Nginx介绍
- 客户关系管理系统中对客户及相关数据的导入导出分析处理
- ffmpeg超详细综合教程(二)——为直播流添加滤镜
- Android Framework实战视频系列
- X86架构基本汇编指令详解
- go语言:sync.Once的用法
- shopxp商城系统对接个人支付宝免签h5支付
- android 来电默认铃声,android – 来电动态覆盖默认铃声
- C#服务端的微信小游戏——多人在线角色扮演(十五)
- 解构给默认值_函数的对象参数的解构和默认值
- Git分支的作用与使用
- 新闻关键字提取和新闻推荐