為確保數據一致性,備份前需停止Tomcat服務,避免正在運行的進程修改文件:
sudo systemctl stop tomcat
Tomcat的關鍵數據集中在程序目錄、配置文件、Web應用和日志中,需分別備份:
/opt/tomcat),使用tar命令打包核心目錄:sudo tar -czvf /backup/tomcat_program_$(date +%Y%m%d).tar.gz /opt/tomcat/conf /opt/tomcat/webapps /opt/tomcat/work /opt/tomcat/temp
server.xml、web.xml)是恢復的關鍵,建議單獨備份:sudo tar -czvf /backup/tomcat_config_$(date +%Y%m%d).tar.gz /etc/tomcat
.war或解壓后的目錄),可單獨打包webapps目錄:sudo tar -czvf /backup/tomcat_webapps_$(date +%Y%m%d).tar.gz /opt/tomcat/webapps
logs目錄:sudo tar -czvf /backup/tomcat_logs_$(date +%Y%m%d).tar.gz /var/log/tomcat
若Tomcat應用連接了MySQL、PostgreSQL等數據庫,需額外備份數據庫數據(以MySQL為例):
mysqldump -u root -p your_database_name > /backup/db_backup_$(date +%Y%m%d).sql
輸入密碼后,數據庫結構與數據將被導出到指定SQL文件。
rsync命令同步到遠程服務器:rsync -avz /backup/ user@remote_server:/remote/backup/
通過crontab設置定時任務,實現每日自動備份(例如每天凌晨2點):
crontab -e
添加以下內容(備份程序目錄與配置文件):
0 2 * * * /bin/bash -c 'tar -czvf /backup/tomcat_daily_$(date +\%Y\%m\%d).tar.gz /opt/tomcat/conf /opt/tomcat/webapps'
保存后,cron會自動執行備份任務。
恢復前需停止Tomcat,避免新進程干擾恢復過程:
sudo systemctl stop tomcat
根據備份類型,解壓對應文件到Tomcat安裝目錄或配置目錄:
sudo tar -xzvf /backup/tomcat_program_YYYYMMDD.tar.gz -C /
sudo tar -xzvf /backup/tomcat_config_YYYYMMDD.tar.gz -C /
sudo tar -xzvf /backup/tomcat_webapps_YYYYMMDD.tar.gz -C /
sudo tar -xzvf /backup/tomcat_logs_YYYYMMDD.tar.gz -C /
若備份了數據庫,需導入SQL文件恢復數據:
mysql -u root -p your_database_name < /backup/db_backup_YYYYMMDD.sql
恢復完成后,啟動Tomcat并驗證服務狀態:
sudo systemctl start tomcat
sudo systemctl status tomcat # 檢查服務是否運行正常
http://your_server_ip:8080),確認服務是否啟動。/var/log/tomcat/catalina.out),確認無報錯信息。tar命令默認保留權限)。gpg加密備份文件(如gpg -c backup.tar.gz)。