linux jar自啟動
阿新 • • 發佈:2020-08-26
linux系統中,springboot專案匯出的jar包,如果需要開機自啟動,這裡是我的指令碼檔案,虛擬機器上測試通過的
start-jar.sh
放到/etc/init.d下
#!/bin/sh # chkconfig: 2345 85 15 # description:auto_run
#jdk環境 JAVA_HOME=/www/server/jdk1.8.0_211 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH #JAR根位置 JAR_ROOT=/application/triage-call#jar的名字 name="deal-task pager rabbitmq screen triage triage-admin websocket media-admin media-netty" #log位置 LOG_PATH="./" #開始方法 start() { cd $JAR_ROOT for i in $name; do echo "nohup java -jar ${i}.jar >${LOG_PATH}log_${i}.file 2>&1 &" nohup java -jar ${i}.jar >${LOG_PATH}log_${i}.file 2>&1 & echo "echo $! > /var/run/${i}.pid" echo $! > /var/run/${i}.pid done } #結束方法 stop() { for i in $name; do kill -9 `ps -ef|grep $i|grep -v grep|grep -v stop|awk '{print $2}'` done } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Userage: $0 {start|stop|restart}" exit 1 esac
成功啟動測試過的
1,新增授權
chmod +x start-jar.sh
2,chkconfig —add start-jar.sh
3,chkconfig —start-jar.sh on
下邊是rabbitmq,tomcat,nginx,redis的自啟動
#!/bin/bash
#chkconfig:2345 80 05
echo 重置環境變數........
source /etc/profile
echo 啟動Redis.........
cd /usr/local/redis/bin/
./redis-server redis.conf
ps aux|grep redis
if [ "$?" == 0 ];then
echo redis啟動成功.....
fi
echo 啟動rabbitmq............
rabbitmq-server -detached
if [ "$?" == 0 ];then
echo rabbitmq啟動成功.......
fi
echo 啟動nginx...........
nginx
if [ "$?" == 0 ];then
echo nginx啟動成功
fi
echo 啟動防火牆............
systemctl restart iptables.service
if [ "$?"==0 ];then
echo 防火牆啟動成功...........
fi
echo 啟動tomcat....
cd /application/apache-tomcat-8.5.51/bin/
./startup.sh
ps aux|grep tomcat
if [ "$?" == 0 ];then
echo tomcat啟動成功.....
fi
ps: 注意的事項:
1,指令碼檔案需要放到/etc/init.d下【指令碼名稱自己起: 比如:a.sh】
2,指令碼檔案需要授權 chomod +x 檔案全名稱【a.sh】
3, 新增服務中 chkconfig --add 檔案全名稱【a.sh】
4, 開啟開機自動 chkconfig 檔案全名稱【a.sh】 on
5, 檢視 chkconfig --list
然後就會看到 這個服務的資訊,有幾個是開啟狀態有幾個是關閉狀態,這個是對的。