首页主机资讯如何在Ubuntu上备份Tomcat数据

如何在Ubuntu上备份Tomcat数据

时间2025-11-25 18:50:17发布访客分类主机资讯浏览284
导读:Ubuntu 上备份 Tomcat 数据的实用方案 一 备份范围与准备 明确需要保护的目录与数据: 配置与部署:$CATALINA_BASE/conf、$CATALINA_BASE/webapps(生产环境建议优先备份这两项)。 运行时...

Ubuntu 上备份 Tomcat 数据的实用方案

一 备份范围与准备

  • 明确需要保护的目录与数据:
    • 配置与部署:$CATALINA_BASE/conf$CATALINA_BASE/webapps(生产环境建议优先备份这两项)。
    • 运行时与工作目录:$CATALINA_BASE/work$CATALINA_BASE/temp(可选,便于完整回滚)。
    • 日志:$CATALINA_BASE/logs(可按需单独备份与长期保留)。
  • 确认目录位置:
    • 若通过包管理器安装,常见路径为:/var/lib/tomcat[版本]/webapps/var/lib/tomcat[版本]/conf/var/log/tomcat[版本]
    • 若手动安装,通常为:/opt/tomcat(此时 $CATALINA_BASE=/opt/tomcat)。
  • 准备备份存放区:例如 /backup/tomcat,并确保磁盘空间充足与权限正确。
  • 建议在执行全量备份前先停止 Tomcat,避免文件变更导致不一致(配置与程序包备份尤为建议):
    • 停止命令示例:sudo systemctl stop tomcat/opt/tomcat/bin/shutdown.sh

二 手动一次性备份与恢复

  • 备份命令示例(按实际路径调整):
    • 全量备份(配置 + 应用 + 可选日志/工作目录):
      sudo tar -czvf /backup/tomcat_full_$(date +%F).tar.gz \
        /var/lib/tomcat9/conf \
        /var/lib/tomcat9/webapps \
        /var/lib/tomcat9/work /var/lib/tomcat9/temp \
        /var/log/tomcat9
      
    • 仅备份配置与应用(最常见):
      sudo tar -czvf /backup/tomcat_app_conf_$(date +%F).tar.gz \
        /var/lib/tomcat9/conf /var/lib/tomcat9/webapps
      
    • 仅备份日志:
      sudo tar -czvf /backup/tomcat_logs_$(date +%F).tar.gz /var/log/tomcat9
      
  • 恢复步骤:
    • 先停止 Tomcat:sudo systemctl stop tomcat
    • 解压覆盖(示例为配置与应用):
      sudo tar -xzvf /backup/tomcat_app_conf_2025-08-30.tar.gz -C /
      
    • 启动 Tomcat:sudo systemctl start tomcat

三 自动化定时备份脚本

  • 创建脚本 /opt/backup_tomcat.sh
    #!/usr/bin/env bash
    set -e
    
    # 可按实际环境修改
    CATALINA_BASE="/var/lib/tomcat9"
    BACKUP_DIR="/backup/tomcat"
    KEEP_DAYS=7
    
    DATE=$(date +%F)
    mkdir -p "$BACKUP_DIR"
    
    # 1) 配置与应用
    tar -czf "$BACKUP_DIR/tomcat_app_conf_${
    DATE}
    .tar.gz" \
      -C "$CATALINA_BASE" conf webapps
    
    # 2) 日志(可选)
    tar -czf "$BACKUP_DIR/tomcat_logs_${
    DATE}
    .tar.gz" \
      -C "$CATALINA_BASE" logs
    
    # 3) 清理旧备份
    find "$BACKUP_DIR" -name "tomcat_*.tar.gz" -mtime +${
    KEEP_DAYS}
         -delete
    
    echo "Backup finished at $(date)"
    
  • 赋权并加入定时任务(每天 02:00 执行):
    sudo chmod +x /opt/backup_tomcat.sh
    (crontab -l 2>
        /dev/null;
     echo "0 2 * * * /opt/backup_tomcat.sh") | crontab -
    
  • 如需远程留存,可在脚本中增加 rsyncscp 同步到备份服务器。

四 日志轮转与远程备份

  • 使用 logrotate 管理日志(避免日志无限增长):
    • 新建配置 /etc/logrotate.d/tomcat
      /var/log/tomcat9/*.log {
          
        daily
        rotate 7
        compress
        missingok
        notifempty
        create 640 tomcat tomcat
        sharedscripts
        postrotate
          systemctl reload tomcat >
          /dev/null 2>
          &
      1 || true
        endscript
      }
          
      
    • 测试与强制执行:
      sudo logrotate -d /etc/logrotate.conf    # 语法与执行计划演练
      sudo logrotate -f /etc/logrotate.d/tomcat # 立即执行一次
      
  • 远程备份示例(在备份脚本或单独任务中调用):
    • rsync(增量、高效):
      rsync -avz /backup/tomcat/ user@backup-server:/backup/tomcat/
      
    • scp(简单拷贝):
      scp /backup/tomcat/*.tar.gz user@backup-server:/backup/tomcat/
      
  • 如应用使用数据库,务必同时备份数据库(示例为 MySQL):
    mysqldump -u USER -pPASSWORD --single-transaction --routines --triggers DATABASE >
         \
      /backup/tomcat_db_$(date +%F).sql
    
    恢复时使用:mysql -u USER -pPASSWORD DATABASE < /backup/tomcat_db_YYYY-MM-DD.sql

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


若转载请注明出处: 如何在Ubuntu上备份Tomcat数据
本文地址: https://pptw.com/jishu/755824.html
Tomcat在Ubuntu上的性能如何提升 Linux FTP Server端口如何配置

游客 回复需填写必要信息