为确保数据一致性,备份前需停止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)。