温馨提示×

centos lamp怎样备份与恢复数据

小樊
43
2025-10-26 05:06:47
栏目: 智能运维

CentOS LAMP环境备份与恢复指南

一、备份方案

1. 数据库备份(核心)

使用mysqldump工具备份MySQL/MariaDB数据库,支持完整备份和自定义数据库选择,备份文件为可执行的SQL脚本。
命令示例mysqldump -u root -p 数据库名 > /backup/数据库名_$(date +%Y%m%d).sql
说明:执行后会提示输入数据库密码,备份文件保存到指定目录(如/backup),文件名包含日期便于区分。

2. 网站文件备份(关键数据)

网站文件通常存放在/var/www/html/(Apache默认路径)或自定义目录,使用tar命令打包压缩,保留目录结构。
命令示例tar -czvf /backup/website_$(date +%Y%m%d).tar.gz -C /var/www/html .
说明-C参数指定源目录,.表示当前目录所有内容;压缩后的.tar.gz文件便于存储和传输。

3. 配置文件备份(系统恢复基础)

备份Apache、PHP等服务的配置文件,避免恢复时重新配置。
命令示例

  • Apache配置:cp -r /etc/httpd/ /backup/apache_config/
  • PHP配置:cp /etc/php.ini /backup/php_ini.conf
    说明:配置文件修改频繁,需单独备份以确保服务一致性。

4. 增量备份(节省存储空间)

使用rsync工具仅备份自上次备份以来变化的文件,适合频繁更新的网站文件。
命令示例rsync -avz --delete /var/www/html/ /backup/incremental/
说明-a保留文件属性,-v显示详细过程,--delete删除目标目录中源目录不存在的文件(保持同步);可结合crontab设置每日增量备份。

5. 定时任务自动化(避免遗漏)

使用crontab设置定时任务,自动执行备份脚本。
操作步骤

  • 编辑备份脚本/usr/local/bin/backup_lamp.sh,写入备份命令(如数据库、网站文件、配置文件);
  • 添加执行权限:chmod +x /usr/local/bin/backup_lamp.sh
  • 编辑定时任务:crontab -e,添加0 3 * * * /usr/local/bin/backup_lamp.sh(每天凌晨3点执行)。

二、恢复方案

1. 数据库恢复(精准还原)

将备份的SQL文件导入目标数据库,恢复表结构和数据。
命令示例mysql -u root -p 数据库名 < /backup/数据库名_20250910.sql
说明:需提前创建同名数据库(mysql -u root -p -e "CREATE DATABASE 数据库名;"),导入前确保数据库服务运行。

2. 网站文件恢复(覆盖式还原)

使用tar解压备份的网站文件包,覆盖目标目录。
命令示例tar -xzvf /backup/website_20250910.tar.gz -C /var/www/html/
说明-x解压,-z处理gzip压缩,-C指定目标目录;恢复前建议备份当前网站文件,防止数据覆盖丢失。

3. 配置文件恢复(恢复服务设置)

将备份的配置文件复制回原目录,覆盖现有配置。
命令示例

  • Apache配置:cp -r /backup/apache_config/* /etc/httpd/
  • PHP配置:cp /backup/php_ini.conf /etc/php.ini
    说明:恢复后需重启服务使配置生效(systemctl restart httpd)。

4. 系统恢复(极端情况)

若系统崩溃,可使用tar备份的全量系统文件恢复(需从Live CD或救援模式进入)。
命令示例tar xvpfz /backup/system_20250910.tar.gz -C /
说明:恢复前需挂载原系统分区(如/dev/sda1/mnt),并排除/proc/sys等虚拟目录;恢复后需重新安装内核和引导程序。

0