Liunx编写服务启动脚本并设置开机自启
Posted Java小周
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Liunx编写服务启动脚本并设置开机自启相关的知识,希望对你有一定的参考价值。
业务需求需要用到的环境有Redis+Rabbitmq+Tomcat+Jar服务
#!/bin/sh
#chkconfig: 23456 80 90
#description:服务自启
green()
echo -e "\\033[32m\\033[01m$1\\033[0m"
blue()
echo -e "\\033[34m\\033[01m$1\\033[0m"
red()
echo -e "\\033[31m\\033[01m$1\\033[0m"
#Redis路径【执行文件,路径前后 “/” 勿加】
REDIS_PATH=usr/local/redis/bin
#Tomcat路径【执行文件,路径前后 “/” 勿加】
TOMCAT_PATH=home/zhou/project/tomcat/apache-tomcat-8.5.73/bin
#jar包路径【路径,头路径带 “/”,末尾不带 “/”】
JAVA_PATH=/home/zhou/project/java/java
#java文件名称【文件名.后缀】
JAVA_NAME=gaowei.jar
#配置jdk【重启jdk相关服务需要设置jdk环境变量,否则启动不起来】
export JAVA_HOME="/home/zhou/project/java/jdk1.8.0_51"
export PATH=$PATH:$JAVA_HOME/bin
green "==============================="
blue "正在启动Redis服务 \\033[5m.....\\033[0m\\033[32m\\033[01m"
sleep 2
/$REDIS_PATH/redis-server /$REDIS_PATH/redis.conf
green "Redis 启动成功!!"
green "==============================="
blue "正在启动Rabbitmq服务 \\033[5m.....\\033[0m\\033[32m\\033[01m"
systemctl restart rabbitmq-server
green "Rabbitmq 初始化成功"
green "Rabbimtq 加载完成"
green "Rabbitmq 启动成功!!"
green "==============================="
blue "正在启动Tomcat服务 \\033[5m.....\\033[0m\\033[32m\\033[01m"
sleep 2
/$TOMCAT_PATH/startup.sh
green "Tomcat 启动成功!!"
green "==============================="
blue "开始执行JAVA脚本"
#查询进程,并杀掉当前jar/java程序
pid=`ps -ef|grep $JAVA_PATH/$JAVA_NAME | grep -v grep | awk 'print $2'`
kill -9 $pid
red "$pid进程终止成功"
sleep 2
#判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
if test -e $JAVA_PATH/$JAVA_NAME
then
blue "正在启动JAVA服务 \\033[5m.....\\033[0m\\033[32m\\033[01m"
sleep 2
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar $JAVA_PATH/$JAVA_NAME > $JAVA_PATH/start.log 2>&1 &
green "$JAVA_NAME 启动成功!!"
else
red "$JAVA_NAME 文件不存在,请检查。"
fi
green "==============================="
注意,如果要设置开机自启【下面三行必须加上】
#!/bin/sh
#chkconfig: 2345 80 90
#description:服务自启
具体解释:
第一行,告诉系统使用的shell,所以的shell脚本都是这样。
第二行,chkconfig后面有三个参数2345,80和90告诉chkconfig程序,需要在rc2.d~rc5.d目录下,创建名字为 S80auto_run的文件连接,连接到/etc/rc.d/init.d目录下的的auto_run脚本。第一个字符是S,系统在启动的时候,运行脚 本auto_run,就会添加一个start参数,告诉脚本,现在是启动模式。同时在rc0.d和rc6.d目录下,创建名字为K90auto_run的 文件连接,第一个字符为K,个系统在关闭系统的时候,会运行auto_run,添加一个stop,告诉脚本,现在是关闭模式。
注意上面的三行中,第二,第三行是必须的,否则在运行chkconfig --add auto_run时,会报错。
对脚本文件设置开机自启
将脚本文件放入/etc/init.d/目录中
修改名字为start.sh
修改sh文件权限
chmod u+x *.sh
设置开机自启
chkconfig --add start.sh
chkconfig start.sh on
关闭开机自启
chkconfig start.sh off
以上是关于Liunx编写服务启动脚本并设置开机自启的主要内容,如果未能解决你的问题,请参考以下文章