Ubuntu编写开机启动脚本
1 概述
- 【Ubuntu编写开机启动脚本】服务器一般不可能百分之百不会挂,于是一般采用主备或者分布式来达到高可用。
- 挂掉的机器有很多处理策略,常用的就是重新启动,但是为了保证重启之后服务器能够恢复可用状态,需要配置开机启动脚本。
- 服务脚本:假设服务名字为test
#!/bin/bash
### BEGIN INIT INFO
# Provides:littleevil
# Required-Start:$local_fs $network
# Required-Stop:$local_fs
# Default-Start:2 3 4 5
# Default-Stop:0 1 6
# Short-Description: test service
# Description:test service daemon
### END INIT INFO# 文件服务器 运营平台 商户平台
files=(file opt merchant)
# 目录
deploy=/home/littleevil/deploy/start() {
echo "starting test service..."
for var in ${files[@]};
do
# 进入目录并运行服务器启动脚本
cd $deploy$var
sh start.sh
done
}stop() {
echo "stopping test service..."
for var in ${files[@]};
do
# 进入目录并运行服务器停止脚本
cd $deploy$var
sh stop.sh
done
}restart() {
stop
start
}# 这里没有重写status
case "$1" in
start)
start
;
;
stop)
stop
;
;
restart)
restart
;
;
esac
- 服务器启动脚本:这里演示文件服务器的启动脚本
#!/bin/shecho "you will start server"
echo "please waiting ...."ps -ef|grep file.jar|grep -v grep|awk {'print $2'}|while read line
do
kill -9 $line
donerm -rf log.out# JVM调优参数未写 需要根据实际情况进行调整
nohup nice java -server -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintHeapAtGC -Xloggc:./gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./oom.dump -jar file.jar >log.out&
- 服务器停止脚本
#!/bin/shecho "you will stop server"
echo "please waiting ...."ps -ef|grep file.jar|grep -v grep|awk {'print $2'}|while read line
do
sudo -S kill -9 $line
donerm -rf log.out
3 设置脚本开机自启动
- 复制文件夹中的test服务脚本至linux系统的
/etc/init.d
目录下 - 进入
/etc/init.d
目录执行sudo update-rc.d test defaults 95
- 执行
sudo sysv-rc-conf
查看服务是否添加 - 执行
sudo service test start/stop/restart/status
或者sudo systemctl start/stop/restart/status test.service
测试服务是否添加成功 (需要重启服务器) - 执行
sudo sysv-rc-conf --level 2345 delightd on
- 最后通过
sudo reboot
测试服务开启是否可以自启动
推荐阅读
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 编写字典程序
- 用npm发布一个包的教程并编写一个vue的插件发布
- VM|VM ware 的 harbor 私有仓库搭建 (Ubuntu16.04)
- Xshell5|Xshell5 远程连接本地虚拟机Ubuntu16
- 依赖注入模块
- ubuntu开机默认进入命令行模式/用户图形界面
- seedubuntu|seedubuntu 下搭建discuz论坛
- Ubuntu|Ubuntu 16.04(LTS)---- 系统安装(1)
- 5.|5. Python 入门- 课程 5 脚本