温馨提示×

centos lnmp如何备份恢复

小樊
53
2025-09-18 00:56:22
栏目: 智能运维

CentOS LNMP环境备份恢复指南

一、备份方法

1. 手动备份(基础操作)

  • Nginx配置文件备份:Nginx主配置文件及站点配置位于/etc/nginx/目录,使用cp命令递归复制到备份路径(如/backup/nginx)。
    命令示例:sudo cp -r /etc/nginx /backup/nginx_backup
  • MySQL数据库备份:使用mysqldump工具导出数据库(支持全库或单库),推荐添加--events参数避免事件表遗漏,并用gzip压缩减少体积。
    全库备份命令:mysqldump -u root -p --all-databases --events | gzip > /backup/mysql_all_$(date +%F).sql.gz
    单库备份命令:mysqldump -u root -p 数据库名 --events | gzip > /backup/数据库名_$(date +%F).sql.gz
  • 网站文件(PHP项目)备份:网站数据通常存放在/var/www/html/(默认路径)或自定义目录(如/home/wwwroot/),使用tar命令压缩归档。
    命令示例:sudo tar -czvf /backup/www_site.tar.gz /var/www/html/
  • LNMP自带备份脚本:多数LNMP一键安装包(如lnmp1.6)包含backup.sh脚本,支持本地或FTP远程备份(需提前配置脚本中的FTP参数)。

2. 自动化备份(定时任务)

通过crontab设置定时任务,实现每日自动备份(如凌晨3点执行)。
操作步骤:
① 编辑当前用户的crontab:crontab -e
② 添加定时任务(以backup.sh为例):0 3 * * * /root/lnmp/tools/backup.sh(脚本需提前赋予执行权限:chmod +x /root/lnmp/tools/backup.sh)。

二、恢复方法

1. Nginx配置文件恢复

  • 将备份的Nginx目录复制回原路径:sudo cp -r /backup/nginx_backup/nginx /etc/nginx/
  • 检查配置文件语法(避免重启失败):sudo nginx -t
  • 重启Nginx服务使配置生效:sudo systemctl restart nginx

2. MySQL数据库恢复

  • 若备份文件为压缩格式,先解压:gunzip /backup/mysql_all_20250918.sql.gz
  • 导入备份数据到MySQL:mysql -u root -p < /backup/mysql_all_20250918.sql(执行后输入密码,等待导入完成)。

3. 网站文件恢复

  • 使用tar命令解压备份文件到目标目录(如/var/www/html/):sudo tar -xzvf /backup/www_site.tar.gz -C /var/www/html/
  • 修复文件权限(确保Nginx/PHP-FPM用户可访问):sudo chown -R nginx:nginx /var/www/html/(若用户为apache则替换为对应用户)。

4. LNMP自带脚本恢复

  • 修改backup.sh脚本中的备份路径、FTP参数等(与备份时一致);
  • 执行脚本恢复数据:/root/lnmp/tools/backup.sh(具体参数参考脚本注释)。

三、注意事项

  • 备份完整性:备份前停止相关服务(如MySQL),避免数据不一致;恢复后重启服务(如Nginx、MySQL)使变更生效。
  • 存储安全:备份文件存储在非系统盘(如/backup分区)或远程服务器(如FTP、云存储),避免系统崩溃导致备份丢失。
  • 定期测试:每月测试1次备份文件的恢复流程,确保备份有效性(如检查数据库导入后数据是否完整)。
  • 多级备份:采用“本地+远程”双备份策略(如本地/backup目录+FTP远程目录),提升数据安全性。

0