应用场景:有的时候服务器需要重启 或者 jar 版本更新,需要重新启动,通过shell脚本可自动执行的特性,来提升工作效率
处理方案:
1、编写shell脚本:
如:
#!/bin/bash # 必须
#add for chkconfig # 必须
#chkconfig: 2345 70 30 # 必须
#description:the shell for quick and auto start timetask.jar #描述,非必须
#processname:starttimetask #描述,非必须
#Program: #描述,非必须
#quick and auto start timetask.jar #描述,非必须
#History: #描述,非必须
# mcw 2016-05-02 first
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH #加载路径,建议必须
export JAVA_HOME=/data0/jdk1.8.0_72
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin #加载JDK的版本环境,由于jar一般都有对当前jdk环境有要求,一般要求在执行前确认好jdk环境,尤其是 CLASSPATH
s1="/**/timetask";export s1 #指定执行路径
alias bgs1start="nohup java -jar $s1/timetask.jar >> $s1/logs/timetask.out 2>&1 &";export bgs1start #配置快速启动指令
nohup java -jar $s1/timetask.jar >> $s1/logs/timetask.out 2>&1 &` #用nohup来执行当前jar,并指定记录日志文件
2、保存该shell文件到 /etc/init.d/ 下,命名为 starttimetask
3、chmod 755 starttimetask ,保证文件执行权限;
4、chkconfig –add starttimetask
5、重启centos , ps -ef |grep timetask 查看 和 使用 alias 查看是否生效
优化方向:
shell 脚本 继续优化,增加 start 和stop ,增加该服务进程的状态判断, 提供可以快速stop指令