首页主机资讯centos lnmp备份恢复方案

centos lnmp备份恢复方案

时间2025-10-11 08:09:03发布访客分类主机资讯浏览868
导读:CentOS LNMP备份恢复方案 一、备份前准备 确认组件路径:提前记录LNMP各组件的关键路径(如Nginx配置文件/etc/nginx、网站文件/var/www/html、MySQL数据目录/var/lib/mysql),避免备份时...

CentOS LNMP备份恢复方案

一、备份前准备

  1. 确认组件路径:提前记录LNMP各组件的关键路径(如Nginx配置文件/etc/nginx、网站文件/var/www/html、MySQL数据目录/var/lib/mysql),避免备份时遗漏。
  2. 评估数据重要性:根据数据价值确定备份频率(如每日增量、每周全量)和存储介质(本地磁盘、远程FTP、云存储)。
  3. 测试存储目标:确保备份目标路径(如远程FTP、云存储桶)可正常写入,避免备份失败。

二、手动备份步骤(单次执行)

1. Nginx配置文件备份

sudo cp -r /etc/nginx /backup/nginx_$(date +%F)  # 复制配置目录到备份文件夹,文件名包含日期

说明:备份Nginx主配置文件及站点配置,后续恢复需检查语法。

2. MySQL数据库备份

# 备份所有数据库(包含结构和数据)
sudo mysqldump -u root -p --all-databases --single-transaction --quick --lock-tables=false >
     /backup/mysql_all_$(date +%F).sql
# 备份单个数据库(如需指定)
sudo mysqldump -u root -p 数据库名 >
     /backup/dbname_$(date +%F).sql

参数说明--single-transaction确保InnoDB数据一致性(无需锁表);--quick逐行导出,减少内存占用。

3. PHP项目文件备份

# 备份网站根目录(如/var/www/html)
sudo tar -czvf /backup/www_$(date +%F).tar.gz /var/www/html/
# 备份PHP配置文件(如php.ini)
sudo cp /etc/php.ini /backup/php_ini_$(date +%F)

说明:压缩打包减少存储空间,保留文件权限(-z选项)。

三、自动备份配置(长期运行)

1. 使用LNMP自带备份脚本

LNMP一键安装包通常包含backup.sh脚本(路径如/root/lnmp1.6/tools/backup.sh),修改脚本中的备份参数:

# 编辑脚本(示例:设置备份目录、保留天数)
vim /root/lnmp1.6/tools/backup.sh
# 修改以下参数(根据实际需求调整)
BACKUP_DIR="/backup"          # 备份存储路径
MYSQL_USER="root"             # MySQL用户名
MYSQL_PASS="yourpassword"     # MySQL密码(建议使用配置文件存储,避免明文)
KEEP_DAYS=7                   # 保留最近7天备份

设置定时任务:通过crontab -e添加每日凌晨3点执行:

0 3 * * * /bin/bash /root/lnmp1.6/tools/backup.sh >
    >
     /var/log/lnmp_backup.log 2>
    &
    1

说明:脚本会自动备份MySQL、Nginx配置、网站文件,并清理过期备份。

2. rsync增量备份(可选)

若需减少带宽占用,可使用rsync同步变化文件(如网站文件):

# 本地增量备份(示例:同步/var/www/html到/backup/www_incremental)
sudo rsync -avz --delete /var/www/html/ /backup/www_incremental/

# 远程增量备份(示例:同步到远程服务器192.168.1.100)
sudo rsync -avz -e ssh /var/www/html/ user@192.168.1.100:/remote/backup/www/

说明--delete选项删除目标端多余文件,保持与源端一致;远程备份需配置SSH免密登录。

四、恢复流程(故障场景)

1. Nginx配置恢复

# 停止Nginx服务(避免配置冲突)
sudo systemctl stop nginx
# 覆盖备份的配置文件
sudo cp -r /backup/nginx_2025-10-01/* /etc/nginx/
# 检查配置语法(关键步骤,避免重启失败)
sudo nginx -t
# 启动Nginx
sudo systemctl start nginx

注意:若nginx -t报错,需修改配置文件后再重启。

2. MySQL数据库恢复

# 登录MySQL(确认数据库是否存在)
mysql -u root -p -e "SHOW DATABASES;
    "
# 恢复全量备份(如备份文件为mysql_all_2025-10-01.sql)
mysql -u root -p <
     /backup/mysql_all_2025-10-01.sql
# 恢复单个数据库(需先创建数据库)
mysql -u root -p -e "CREATE DATABASE dbname;
    "
mysql -u root -p dbname <
     /backup/dbname_2025-10-01.sql

说明:恢复前需确保目标数据库不存在(全量恢复),避免数据冲突。

3. PHP项目文件恢复

# 删除原网站文件(谨慎操作,确认备份无误)
sudo rm -rf /var/www/html/*
# 解压备份的网站文件
sudo tar -xzvf /backup/www_2025-10-01.tar.gz -C /var/www/html/
# 设置正确权限(避免Web访问问题)
sudo chown -R nginx:nginx /var/www/html/  # 假设Nginx运行用户为nginx
sudo chmod -R 755 /var/www/html/

说明:权限设置需匹配Web服务器用户(如nginxapache)。

五、注意事项

  1. 备份验证:定期测试备份文件的恢复流程(如每月一次),确保备份未损坏。
  2. 存储安全:备份文件存储在异地(如云存储)或加密介质(如加密U盘),避免单点故障。
  3. 权限管理:备份和恢复操作需由root用户或具有相应权限的用户执行,避免权限不足导致失败。
  4. 日志监控:记录备份任务的执行日志(如/var/log/lnmp_backup.log),及时发现备份失败问题。

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


若转载请注明出处: centos lnmp备份恢复方案
本文地址: https://pptw.com/jishu/723221.html
centos exploit如何升级 如何提高centos lamp响应速度

游客 回复需填写必要信息