首页主机资讯ubuntu lamp备份恢复方法是什么

ubuntu lamp备份恢复方法是什么

时间2026-01-20 12:07:03发布访客分类主机资讯浏览937
导读:Ubuntu LAMP 备份与恢复实操指南 一 备份范围与策略 备份范围建议覆盖:网站文件(如 /var/www/html 或站点根目录)、数据库(MySQL/MariaDB)、配置文件(Apache/PHP/虚拟主机)、以及可选的系统级...

Ubuntu LAMP 备份与恢复实操指南

一 备份范围与策略

  • 备份范围建议覆盖:网站文件(如 /var/www/html 或站点根目录)、数据库(MySQL/MariaDB)、配置文件(Apache/PHP/虚拟主机)、以及可选的系统级快照(用于系统回滚)。
  • 策略要点:设定备份频率(如每日/每周)、备份类型(完全/增量/差异)、多地点存储(本地+远程/云端)、保留周期定期校验,并通过 cron 实现自动化。
  • 工具选择:文件级用 tar/rsync,数据库用 mysqldump,系统快照用 Timeshift,远程传输可用 rsync/scp。以上做法能在保证一致性的同时兼顾效率与可恢复性。

二 快速上手 手动备份与恢复命令

  • 数据库备份与恢复(MySQL/MariaDB)
    • 备份单库:
      mysqldump -u 用户名 -p 数据库名 > backup.sql
      示例:mysqldump -u root -p mydb > /backup/mydb_$(date +%F).sql
    • 备份所有库:
      mysqldump -u root -p --all-databases > /backup/all_databases_$(date +%F).sql
    • 恢复:
      mysql -u 用户名 -p 数据库名 < backup.sql
      如文件包含 CREATE DATABASE,可先登录 MySQL 执行 source /path/backup.sql;
  • 网站文件备份与恢复
    • 备份:
      tar -czvf /backup/website_$(date +%F).tar.gz /var/www/html
    • 恢复:
      tar -xzvf /backup/website_$(date +%F).tar.gz -C /var/www/html
  • 配置文件备份与恢复
    • 备份:
      sudo cp -a /etc/apache2 /etc/php /backup/lamp_conf_$(date +%F)
    • 恢复:
      sudo cp -a /backup/lamp_conf_$(date +%F)/apache2 /etc/
      sudo cp -a /backup/lamp_conf_$(date +%F)/php /etc/
  • 远程备份/恢复(示例)
    • 备份到远端:
      rsync -avz /backup/ user@remote:/backup/
    • 从远端恢复:
      rsync -avz user@remote:/backup/ /backup/
      以上命令覆盖 LAMP 场景最常见、最可靠的手动备份与恢复路径,适合快速落地与小规模站点。

三 自动化与系统级快照

  • 定时备份脚本示例(/usr/local/bin/backup_lamp.sh)
    #!/usr/bin/env bash
    BACKUP_DIR="/backup/$(date +%F)"
    mkdir -p "$BACKUP_DIR"
    
    # 数据库
    mysqldump -u root -p'YOUR_DB_PASS' --single-transaction --routines --triggers --databases db1 db2 >
         "$BACKUP_DIR/db_$(date +%F).sql"
    
    # 网站文件
    tar -czf "$BACKUP_DIR/www_$(date +%F).tar.gz" -C /var/www/html .
    
    # 配置文件
    tar -czf "$BACKUP_DIR/conf_$(date +%F).tar.gz" -C /etc/apache2 . /etc/php
    
    # 保留最近7天
    find /backup -maxdepth 1 -type d -mtime +7 -delete
    
    加入定时任务(crontab -e):
    0 2 * * * /usr/local/bin/backup_lamp.sh > /var/log/backup_lamp.log 2> & 1
  • 系统级快照(Timeshift)
    • 安装:sudo apt update & & sudo apt install timeshift
    • 使用:图形界面选择 RSYNCBtrfs(若使用 Btrfs),备份位置建议选非系统盘;可按每日/每周等策略保留多个快照,便于系统回滚。
      自动化与快照能在系统升级、误删配置或软件冲突时提供快速回退能力。

四 迁移到新服务器步骤

  • 准备:在新机器安装同版本的 Ubuntu LAMP,创建同名数据库数据库用户并授予权限。
  • 传输:用 rsync/scp 将网站文件与备份的 SQL 文件复制到新服务器。
  • 导入:在新服务器上恢复数据库(mysql -u 用户名 -p 数据库名 < backup.sql)。
  • 配置:调整站点根目录、虚拟主机配置、.env 或配置文件中的数据库连接信息(主机、库名、用户、密码)。
  • 权限与测试:设置 www-data 对网站目录的属主/权限,重启 Apache 后访问站点与后台进行功能验证。
    该流程适用于同版本迁移;跨大版本或跨发行版时,建议先在测试环境验证兼容性与配置差异。

五 高级恢复与时间点恢复

  • 时间点恢复(基于二进制日志 binlog,适用于 InnoDB 等)
    • 备份时建议加锁并滚动 binlog,便于后续增量恢复:
      mysqldump -u root -p --single-transaction --routines --triggers --databases db1 > backup.sql
      mysql -e “FLUSH LOGS; ”
      记录当前 binlog 文件与位置(SHOW MASTER STATUS; )。
    • 恢复顺序:先恢复全量备份(mysql < backup.sql),再按时间点重放后续 binlog:
      mysqlbinlog --start-position=POS --stop-datetime=“YYYY-MM-DD HH:MM:SS” /var/lib/mysql/mysql-bin.00000X | mysql -u root -p
      该方法可在误删表或误操作后,将库恢复到指定时刻
  • 故障与数据恢复提示
    • 发生数据丢失时,优先停止写入,确认磁盘状态,再使用专业工具(如 Testdisk/Photorec/Foremost/Extundelete)进行扫描与恢复;切勿在故障盘上继续写入。
  • 最佳实践清单
    • 定期测试恢复流程与备份完整性;
    • 备份文件加密与异地存放
    • 结合完全备份+增量备份多地点策略;
    • 重要操作前先做一次快照/备份
      以上做法可显著提升关键业务的可用性与可恢复性。

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


若转载请注明出处: ubuntu lamp备份恢复方法是什么
本文地址: https://pptw.com/jishu/787117.html
ubuntu lamp兼容性问题如何处理 ubuntu lamp常见问题怎么解决

游客 回复需填写必要信息