Linux 定時重啟 Tomcat、重啟Keepalived


1、在 tomcat 目錄新建一個.sh 文件:

vi restartTomcat.sh

 

2、輸入內容:

#!/bin/bash
# author: Linnuo # date:
2019-05-31 # Filename: restartTomcat.sh # Description: 重啟tomcat服務 # 聲明環境變量,可重復使用 export LANG=zh_CN.UTF-8 export JAVA_HOME=/usr/java/jdk1.8.0_161 export JRE_HOME=${JAVA_HOME}/jre export TOMCAT_HOME=/tomcat/apache-tomcat-9.0.17/ # 輸出開始時間 echo "[$(date +'%F %T')] >>> Tomcat begin to restart." # 關閉tomcat服務 ${TOMCAT_HOME}/bin/shutdown.sh # Kill all remaining processes 殺掉所有殘留進程,不殺掉會占用系統資源 pidList=$(ps aux | grep ${TOMCAT_HOME} | grep -v grep | awk '{print $2}') if [ "${pidList}" != "" ] then echo "殘留的進程號:${pidList}"; for pid in $pidList; do kill -9 $pid echo "[$(date +'%F %T')] >>> Kill the process [$pid] successfully." done else echo "無 殘留的進程號"; fi # 啟動tomcat服務 ${TOMCAT_HOME}/bin/startup.sh # 獲取重新啟動后的tomcat服務的進程號 pidList2=$(ps aux | grep ${TOMCAT_HOME} | grep -v grep | awk '{print $2}') if [ "${pidList2}" != "" ] then echo "啟動后的進程號:${pidList2}"; echo "[$(date +'%F %T')] >>> Tomcat restart complete." echo -e "本次tomcat成功重啟 \n\n" else echo "本次tomcat服務啟動出錯,請查看/logs/catalina.out日志文件" fi # 重啟keepalived服務 systemctl restart keepalived # 查看狀態 service keepalived status

  JAVA_HOME、TOMCAT_HOMT 根據自己路徑輸入,保存。

 

3、給.sh 文件賦予執行權限:

chmod +x restartTomcat.sh

 

4、運行:

./restartTomcat.sh

 

 5、配置定時任務 crond:

vi /etc/crontab

 

6、最下面添加紅色內容:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

25 0 */2 * * root /root/restartTomcat.sh >> /root/restartLog.txt

# 每兩天的 00:25 執行一次 - 用戶 - 執行的腳本路徑 - 執行信息的輸出位置 - 執行信息存放的文件名
 
        
保存退出后,系統自動讀取加載,間隔到點,會看見 root 目錄下多了個存放執行信息的文件 restartLog.txt

至此,Linux 中 Tomcat\Keepalived 定時重啟的功能完成.

TIPS:
  1、如果定時任務未生效,重啟即可
  2、如果定時任務只執行shutdown、未執行start,將shutdown、start分開寫即可
service crond restart


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM