首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
JSP项目在Ubuntu上如何备份与恢复

JSP项目在Ubuntu上如何备份与恢复

热心网友
40
转载
2026-05-04

JSP项目在Ubuntu上的备份与恢复

JSP项目在Ubuntu上如何备份与恢复

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一、备份范围与准备

在动手之前,咱们得先搞清楚一件事:到底哪些东西是必须保住的?一个完整的JSP项目备份,远不止复制几个文件那么简单。它更像是一场精密的“数据资产盘点”。

明确需要纳入备份的内容:

  • 应用源码与静态资源: 这是项目的核心,通常位于 /var/lib/tomcat9/webapps/ROOT/ 或你的专属应用目录下。无论是WAR包展开后的文件,还是直接部署的源码目录,一个都不能少。
  • 配置文件: 系统级的配置,比如 /etc/tomcat9/ 目录下的 server.xml、web.xml 等,以及应用自身的配置文件。它们决定了应用如何运行。
  • 数据与日志: 这分为两部分。一是数据库,如果用了MySQL或MariaDB,得用 mysqldump 这类工具备份;二是运行日志,/var/log/tomcat9/ 里的文件对事后排错和审计至关重要。
  • 版本控制: 这是最容易被忽视,却又是最聪明的一步。强烈建议用Git管理源码,备份前先推送到远程仓库。这相当于给你的代码上了“双保险”。

准备与检查:

  • 确认环境状态: 先看看Tomcat是否在跑(sudo systemctl status tomcat9),顺便确认下Ja va版本(ja va -version),做到心中有数。
  • 规划备份目的地: 备份文件放哪儿?本地另一块磁盘、网络文件系统(NFS),还是另一台服务器?提前规划好,是采用rsync同步还是scp拷贝。
  • 权限与安全: 确保执行备份的用户有权限读取应用和日志目录。对于敏感数据,备份文件的加密和妥善存放,是安全底线。

二、推荐的备份方法

方法有很多,关键是要选对适合你场景的那一款。

文件级备份(适合大多数JSP项目)

  • 使用 rsync 增量同步(本地或远端):
    • 本地备份:
      • rsync -aAX --delete /var/lib/tomcat9/webapps/ /backup/tomcat/webapps/
      • rsync -aAX /etc/tomcat9/ /backup/tomcat/etc/
    • 远端备份:
      • rsync -a vz -e ssh /var/lib/tomcat9/webapps/ user@remote:/backup/tomcat/webapps/
    • 说明: 参数 -aAX 能保留文件权限、扩展属性等所有元信息,非常适合系统文件。如果只关心内容,用 -a vz 也行。
  • 使用 tar 归档(一次性快照):
    • 打包应用与配置:
      • tar -czvf jsp_backup_$(date +%F).tar.gz -C /var/lib/tomcat9/webapps/ROOT/ .
      • tar -czvf tomcat_conf_$(date +%F).tar.gz /etc/tomcat9/
    • 远程拷贝: scp jsp_backup_*.tar.gz user@remote:/backup/
  • 图形化工具(桌面环境):
    • Deja Dup: 通过 sudo apt install deja-dup 安装。在图形界面里选择要备份的目录,设置好本地或云端目标即可。这方法适合有桌面环境的系统,或者追求快速上手的场景。

数据库备份(如项目使用 MySQL/MariaDB)

  • 逻辑备份(推荐):
    • mysqldump -u[user] -p[pass] --single-transaction --routines --triggers --databases your_db > db_backup_$(date +%F).sql
    • 想直接备份到远程服务器?可以这样:mysqldump … | ssh user@remote “cat > /backup/db_backup.sql”
  • 恢复: 命令很简单:mysql -u[user] -p[pass] < db_backup_2025-12-16.sql

系统级快照(可选,保护操作系统与配置)

  • Timeshift: 这个工具擅长做系统盘和配置的回滚,并非专门用于应用数据。
    • 安装:sudo apt install timeshift。它支持RSYNC或Btrfs两种快照模式,记得把快照存放到非系统盘上。

三、恢复步骤

备份是为了恢复。当需要还原时,有条不紊是关键。

文件级恢复

  • rsync 恢复(保持权限一致):
    • rsync -aAX /backup/tomcat/webapps/ /var/lib/tomcat9/webapps/
    • rsync -aAX /backup/tomcat/etc/ /etc/tomcat9/
  • tar 归档恢复:
    • 进入目标父目录后解压:
      • cd /var/lib/tomcat9/webapps && tar -xzvf /backup/jsp_backup_2025-12-16.tar.gz
      • tar -xzvf /backup/tomcat_conf_2025-12-16.tar.gz -C /

数据库恢复

  • mysql -u[user] -p[pass] < db_backup_2025-12-16.sql

应用与权限

  • 修正属主属组(以 Tomcat 为例):
    • sudo chown -R tomcat9:tomcat9 /var/lib/tomcat9/webapps /var/log/tomcat9
  • 重启服务:
    • sudo systemctl restart tomcat9

验证

  • 最后一步,务必访问应用首页或关键功能页面,亲自确认静态资源加载、数据库连接、用户登录以及核心业务功能全部恢复正常。

四、自动化与最佳实践

手动备份总归会忘,让系统自己动起来才是长久之计。

定时任务(crontab)

  • 示例: 设置每天凌晨2点执行本地rsync增量备份,并保留最近7天的数据。
    • 0 2 * * * rsync -aAX --delete /var/lib/tomcat9/webapps/ /backup/tomcat/webapps/ >> /var/log/backup_tomcat.log 2>&1
    • 0 2 * * * rsync -aAX /etc/tomcat9/ /backup/tomcat/etc/ >> /var/log/backup_tomcat.log 2>&1
    • 0 1 * * * mysqldump -u[user] -p[pass] --single-transaction --routines --triggers your_db | gzip > /backup/db/your_db_$(date +%F).sql.gz

远端与离线

  • 别把所有鸡蛋放在一个篮子里。结合 rsync over SSH 或 scp 将备份副本传到异地服务器。对于至关重要的归档,甚至可以同步到对象存储或磁带库,实现离线冷备。

版本控制与发布

  • 将项目源码严格纳入Git管理,每次功能更新或修复都打上标签(比如 git tag v1.2.3)。一旦需要回滚,直接检出对应版本的代码重新部署,清晰又可控。

监控与验证

  • 备份文件不是生成就完事了。定期校验其完整性(例如用 sha256sum),并抽样进行恢复演练。备份策略上,至少保留7到30天的滚动备份,以应对各种可能的误操作或故障。

注意事项

  • 执行文件级备份或恢复操作时,尽量选择在Tomcat服务停止或业务低峰期进行,避免文件被占用导致数据不一致。恢复完成后,务必重启Tomcat服务,并仔细检查 /var/log/tomcat9/catalina.out 等日志文件,确保没有抛出任何异常。
来源:https://www.yisu.com/ask/72607216.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Ubuntu如何更新Python安装版本
编程语言
Ubuntu如何更新Python安装版本

在 Ubuntu 上更新 Python 的可选方案与步骤 一 方法总览与选择建议 面对 Ubuntu 系统上 Python 版本的更新需求,其实有几种主流路径可选。每种方法都有其特定的适用场景,选择的关键在于平衡便捷性、隔离性与对现有系统的影响。 简单来说,你可以考虑以下四种方案: 使用 APT +

热心网友
05.04
怎样在Ubuntu安装Python程序
编程语言
怎样在Ubuntu安装Python程序

在 Ubuntu 上安装与运行 Python 程序 一、安装 Python 解释器 万事开头难,但安装Python解释器这事儿,其实不难。关键在于选对方法。 使用系统包管理器安装(推荐) 打开终端,先更新软件源索引,然后直接安装:sudo apt update && sudo apt install

热心网友
05.04
Ubuntu中Python的安装教程
编程语言
Ubuntu中Python的安装教程

Ubuntu 中 Python 的安装与环境配置教程 一 安装前准备 在开始安装之前,先做好这几项准备工作,能让后续过程顺畅不少。 更新索引并升级系统: 打开终端,首先运行这条命令,确保你的软件包列表是最新的,同时升级所有可更新的包: sudo apt update && sudo apt upgr

热心网友
05.04
如何在Ubuntu安装Python环境
编程语言
如何在Ubuntu安装Python环境

在 Ubuntu 上安装与配置 Python 环境 一 快速开始 APT 安装 对于大多数用户来说,最直接、最省心的方式,莫过于使用 Ubuntu 自带的包管理器 APT。这个方法的好处是,安装的 Python 与系统其他组件的兼容性最好,几乎不会出现依赖冲突的问题。 更新索引并安装基础组件: su

热心网友
05.04
如何优化Ubuntu PHP会话管理
编程语言
如何优化Ubuntu PHP会话管理

优化Ubuntu上的PHP会话管理 想让你的Ubuntu服务器上PHP应用跑得更稳、更快、更安全吗?会话管理这块,往往是性能瓶颈和安全风险的藏身之处。今天,我们就来聊聊几个立竿见影的优化策略。 1 选择合适的会话存储方式 别总让会话数据躺在默认的文件系统里。随着流量增长,文件I O很容易成为拖慢应

热心网友
05.04

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

美的洗碗机操作需要预洗餐具吗?
电脑教程
美的洗碗机操作需要预洗餐具吗?

美的洗碗机:告别手动预洗,真能实现“脏碗直入”吗? 直接将沾满油污的碗盘放入洗碗机,您是否仍心存疑虑?这确实是许多用户的共同疑问。实际上,针对日常餐后绝大多数餐具的清洁需求,美的洗碗机已设计出一套高效的智能解决方案,让您彻底告别费力的人工冲洗。其核心在于一项智能预洗程序,它并非简单的“过一遍水”,而

热心网友
05.04
虚拟键盘怎么用鼠标调出来
电脑教程
虚拟键盘怎么用鼠标调出来

虚拟键盘:用鼠标也能轻松打字的系统级方案 当物理键盘临时罢工,或者你只是想在触摸屏上点点戳戳完成输入,系统内置的虚拟键盘(或称屏幕键盘)就是那个随时待命的救星。它无需安装任何第三方软件,完全通过鼠标操作即可调用和输入,完美适配临时应急、无障碍辅助,甚至是清洁键盘时的临时替代等场景。无论是Window

热心网友
05.04
摩根大通警告:原油市场若要最终出清,必将掀起一场远超预期的涨价风暴
web3.0
摩根大通警告:原油市场若要最终出清,必将掀起一场远超预期的涨价风暴

油市现在最诡异的地方,账算不平 眼下油市最吊诡的一点,是账怎么也算不平:供应端被硬生生切掉了一大块,库存正以肉眼可见的速度被抽干,需求那头也在往下掉。可价格的反应,却不像一个正在被迫“清算”的市场该有的样子。摩根大通的观点一针见血——这套全球原油的供需账,肯定有哪里不对劲。 该行大宗商品策略师Nat

热心网友
05.04
德业除湿机维修常见故障有哪些?
电脑教程
德业除湿机维修常见故障有哪些?

德业除湿机常见故障解析与模块化排查指南 说到德业除湿机的常见故障,其实主要集中在五个方面:通风系统异常、制冷循环失常、压缩机性能下降、整机噪音升高,以及水路泄漏问题。有意思的是,机器本身还挺“聪明”,配备了一套标准化的故障代码系统,能精准指向具体问题模块。比如,从E1到E9这些代码,分别对应着湿度传

热心网友
05.04
苹果平板怎么关机按键失效怎么办
电脑教程
苹果平板怎么关机按键失效怎么办

iPad关机按键失效后,如何优雅地完成关机与重启? 物理按键偶尔失灵,这在电子设备中并不罕见。好在,即便iPad的关机按键完全失效,你依然有多种可靠的方式来实现正常关机与重启。这些方法并非旁门左道,而是苹果官方在系统层面预留的“后门”,从系统设置、组合按键到辅助触控,构成了完整的冗余操作链。根据ID

热心网友
05.04