sudo systemctl stop tomcat
(若使用init.d脚本,则用sudo /etc/init.d/tomcat stop
)。Tomcat备份需覆盖配置文件、Web应用、日志、临时文件等关键数据,以下是具体操作:
Tomcat的配置文件(如server.xml
、web.xml
、context.xml
)存储在conf
目录,是恢复服务的核心依据。
命令示例:
sudo tar -czvf /opt/backup/tomcat_conf_backup_$(date +%Y%m%d).tar.gz /opt/tomcat/conf
(注:/opt/tomcat
为Tomcat默认安装路径,需替换为实际路径;$(date +%Y%m%d)
用于生成带日期的文件名,便于区分备份版本。)
webapps
目录包含所有部署的Web应用(WAR包及解压后的文件夹),恢复后无需重新部署。
命令示例:
sudo tar -czvf /opt/backup/tomcat_webapps_backup_$(date +%Y%m%d).tar.gz /opt/tomcat/webapps
logs
目录存储Tomcat运行日志(如catalina.out
、localhost_access_log
),可用于排查历史问题。
命令示例:
sudo tar -czvf /opt/backup/tomcat_logs_backup_$(date +%Y%m%d).tar.gz /opt/tomcat/logs
temp
目录用于存储临时文件,work
目录存储JSP编译后的class文件,虽非关键但建议备份以保持环境一致性。
命令示例:
sudo tar -czvf /opt/backup/tomcat_temp_work_backup_$(date +%Y%m%d).tar.gz /opt/tomcat/temp /opt/tomcat/work
若Tomcat使用了数据库连接池(如MySQL、PostgreSQL),需额外备份数据库中的表结构和数据(非Tomcat自身备份,但需纳入整体恢复计划)。
MySQL示例:
mysqldump -u root -p your_database > /opt/backup/your_database_backup_$(date +%Y%m%d).sql
PostgreSQL示例:
pg_dump -U postgres your_database > /opt/backup/your_database_backup_$(date +%Y%m%d).sql
恢复时需按反向顺序操作,确保环境一致性:
恢复前必须停止Tomcat,避免文件冲突:
sudo systemctl stop tomcat
sudo tar -xzvf /opt/backup/tomcat_conf_backup_$(date +%Y%m%d).tar.gz -C /opt/tomcat/
sudo tar -xzvf /opt/backup/tomcat_webapps_backup_$(date +%Y%m%d).tar.gz -C /opt/tomcat/
sudo tar -xzvf /opt/backup/tomcat_logs_backup_$(date +%Y%m%d).tar.gz -C /opt/tomcat/
sudo tar -xzvf /opt/backup/tomcat_temp_work_backup_$(date +%Y%m%d).tar.gz -C /opt/tomcat/
若备份了数据库,需执行SQL脚本恢复数据:
mysql -u root -p your_database < /opt/backup/your_database_backup_$(date +%Y%m%d).sql
或
psql -U postgres your_database < /opt/backup/your_database_backup_$(date +%Y%m%d).sql
恢复完成后,启动Tomcat并验证服务状态:
sudo systemctl start tomcat
sudo systemctl status tomcat
(检查是否运行正常)
webapps
目录),每周执行全量备份(包含所有目录)。server.xml
是否存在、WAR包是否能正常解压)。gpg
加密(如gpg -c tomcat_conf_backup.tar.gz
)。crontab
设置定时任务(如每天凌晨2点执行备份脚本),减少人工干预。crontab
条目:0 2 * * * /usr/local/bin/backup_tomcat.sh
(/usr/local/bin/backup_tomcat.sh
为包含上述备份命令的脚本)。通过以上步骤,可实现CentOS系统下Tomcat的有效备份与恢复,确保服务在故障时快速恢复。