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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java小周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值