應用場景:有的時候服務器需要重啓 或者 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指令