首页主机资讯怎样在centos上备份tomcat数据

怎样在centos上备份tomcat数据

时间2025-11-24 17:12:04发布访客分类主机资讯浏览613
导读:CentOS 上备份 Tomcat 的可执行方案 一 备份范围与目录定位 建议优先备份以下关键目录与文件,覆盖配置、应用、数据与运行缓存: 配置:/etc/tomcat/(RPM 安装常见)或 $CATALINA_HOME/conf(源...

CentOS 上备份 Tomcat 的可执行方案

一 备份范围与目录定位

  • 建议优先备份以下关键目录与文件,覆盖配置、应用、数据与运行缓存:
    • 配置:/etc/tomcat/(RPM 安装常见)或 $CATALINA_HOME/conf(源码/解压安装常见)
    • 应用与工作:$CATALINA_BASE/webapps$CATALINA_BASE/work$CATALINA_BASE/temp
    • 日志:$CATALINA_BASE/logs(含 catalina.out 与按日期切分的日志)
  • 快速确认你的实际路径:
    • 查看服务单元:systemctl cat tomcat(关注 Environment=CATALINA_HOME/CATALINA_BASE
    • 查看进程:ps -ef | grep tomcat(关注 -Dcatalina.base=-Dcatalina.home=
    • 常见 RPM 布局:/var/lib/tomcat(数据)、/etc/tomcat(配置)、/var/log/tomcat(日志)
    • 常见解压布局:/opt/tomcat(即 CATALINA_HOME),/var/lib/tomcat(若另设 CATALINA_BASE
      以上目录用途与常见布局可参考 Tomcat 目录结构说明与 CentOS 常见安装路径示例。

二 手动一次性备份步骤

  • 1)停止 Tomcat(尽量在业务低峰期执行)
    • systemctl stop tomcat
  • 2)创建备份目录
    • mkdir -p /backup/tomcat/$(date +%F)
  • 3)打包关键目录(按需选择,以下为常见组合)
    • 配置:tar -czf /backup/tomcat/$(date +%F)/conf_$(date +%F).tar.gz -C /etc tomcat
    • 应用与工作:tar -czf /backup/tomcat/$(date +%F)/apps_$(date +%F).tar.gz -C /var/lib/tomcat webapps work temp
    • 日志:tar -czf /backup/tomcat/$(date +%F)/logs_$(date +%F).tar.gz -C /var/log tomcat
  • 4)启动 Tomcat
    • systemctl start tomcat
  • 5)校验
    • ls -lh /backup/tomcat/$(date +%F) 与 tar -tzf 备份文件 检查是否完整
      以上流程与目录选择适用于 RPM 与解压安装两种常见形态。

三 自动化与远程备份脚本

  • 本地每日备份并保留 N 天
    • 示例脚本(保留最近 7 天,按你的实际路径修改 CATALINA_BASEBACKUP_DIR):
      #!/usr/bin/env bash
      set -euo pipefail
      
      CATALINA_BASE="/var/lib/tomcat"
      BACKUP_DIR="/backup/tomcat"
      RETAIN_DAYS=7
      DATE=$(date +%F)
      
      mkdir -p "$BACKUP_DIR/$DATE"
      
      # 备份配置、应用与工作目录
      tar -czf "$BACKUP_DIR/$DATE/conf_$DATE.tar.gz"  -C /etc tomcat
      tar -czf "$BACKUP_DIR/$DATE/apps_$DATE.tar.gz" -C "$CATALINA_BASE" webapps work temp
      tar -czf "$BACKUP_DIR/$DATE/logs_$DATE.tar.gz" -C "$CATALINA_BASE" logs
      
      # 清理过期备份
      find "$BACKUP_DIR" -maxdepth 1 -type d -mtime +$RETAIN_DAYS -exec rm -rf {
      }
           +
      
      echo "Backup $DATE completed."
      
    • 定时任务(每天 02:00 执行):
      • crontab -e
      • 0 2 * * * /usr/bin/bash /root/backup_tomcat.sh
  • 远程备份(rsync 到备份服务器)
    • 命令示例:rsync -avz --delete /backup/tomcat/ user@backup.example.com:/data/backup/tomcat/
    • 也可在脚本中先本地打包,再用 rsync 上传到远端存储,便于多副本与异地容灾。

四 增量备份与日志轮转

  • 增量备份(基于 tar 快照,每周日全量、其余增量)
    • 思路:使用 tar -g snapshot 维护快照文件,周日删除快照并执行全量,其余天执行增量。
    • 参考脚本框架(按你的目录与保留策略调整):
      #!/usr/bin/env bash
      set -euo pipefail
      
      SRC="/var/lib/tomcat /etc/tomcat"
      BACKUP_BASE="/backup/tomcat_inc"
      SNAPSHOT="$BACKUP_BASE/snapshot"
      DATE=$(date +%F)
      WEEK=$(date +%u)  # 1-7,周日=7
      
      mkdir -p "$BACKUP_BASE/$DATE"
      
      if [ "$WEEK" -eq 7 ];
           then
        rm -f "$SNAPSHOT"
        tar -g "$SNAPSHOT" -czf "$BACKUP_BASE/$DATE/full_$DATE.tar.gz" $SRC
      else
        tar -g "$SNAPSHOT" -czf "$BACKUP_BASE/$DATE/inc_$DATE.tar.gz" $SRC
      fi
      
    • 可按需增加旧备份清理逻辑(如保留最近 30 天)。
  • 日志轮转与清理(避免日志无限增长)
    • 使用 logrotate 管理 catalina.out 与按日期切分的日志(推荐)
    • 或简单脚本按天归档并清理历史(示例思路):
      • catalina.out 按天复制备份后清空:cp catalina.out catalina.out.$(date -d ‘1 day ago’ +%F) & & > catalina.out
      • 删除 N 天前归档:find /opt/tomcat/logs -name “catalina.out.*” -mtime +N -delete
        增量备份与日志轮转方案可显著降低存储占用并提升恢复效率。

五 恢复步骤与注意事项

  • 恢复步骤
    • 1)停止 Tomcat:systemctl stop tomcat
    • 2)恢复目录(按你的备份内容选择):
      • tar -xzf /backup/tomcat/2025-08-01/conf_2025-08-01.tar.gz -C /
      • tar -xzf /backup/tomcat/2025-08-01/apps_2025-08-01.tar.gz -C /var/lib/tomcat
      • tar -xzf /backup/tomcat/2025-08-01/logs_2025-08-01.tar.gz -C /var/lib/tomcat
    • 3)启动 Tomcat:systemctl start tomcat
    • 4)校验:访问应用、查看 catalina.out 与业务日志是否正常
  • 注意事项
    • 备份一致性:尽量在停止写入时备份;若要求零停机,可考虑基于文件系统快照或先摘除部分流量再备份。
    • 权限与属主:恢复后确保 tomcat 用户与组对相应目录具备正确权限(如 /var/lib/tomcat/var/log/tomcat)。
    • 版本与路径:跨小版本恢复时保持 CATALINA_HOME/CATALINA_BASE 一致;如路径变更,需同步调整配置中的路径与链接。
    • 定期演练:定期做恢复演练与校验(如校验文件列表与关键业务页面/接口),确保备份可用。
      以上恢复顺序与要点适用于 RPM 与解压安装形态。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 怎样在centos上备份tomcat数据
本文地址: https://pptw.com/jishu/754623.html
如何配置centos上的tomcat集群 如何通过centos管理tomcat服务

游客 回复需填写必要信息