linux

LNMP如何备份与恢复

小樊
48
2025-09-02 07:24:05
栏目: 编程语言

LNMP备份与恢复指南

一、备份操作

  1. 数据库备份
    使用 mysqldump 命令备份MySQL数据库,支持全库或单表备份:

    # 全库备份  
    mysqldump -u 用户名 -p密码 --all-databases > all_db_backup.sql  
    # 单表备份  
    mysqldump -u 用户名 -p密码 数据库名 表名 > table_backup.sql  
    

    可将备份文件压缩存储(如 gzip)或同步至远程服务器(rsync)。

  2. 配置文件备份

    • Nginx:备份配置文件 /etc/nginx/nginx.conf 及站点配置:
      cp -r /etc/nginx /path/to/backup/nginx_conf  
      
    • PHP:备份PHP配置文件(如 php.ini)和项目代码:
      cp -r /etc/php/版本 /path/to/backup/php_conf  
      tar -czvf project_backup.tar.gz /var/www/html  
      
  3. 系统级备份(可选)

    • 使用 tar 打包系统关键文件(谨慎操作,需停止服务):
      tar -czvf lnmp_backup.tar.gz --exclude=/proc --exclude=/sys /etc /var/www /usr/local/nginx  
      
    • 云存储同步:通过 rsyncrclone 将备份文件上传至云存储。
  4. 自动化备份
    通过 crontab 设置定时任务,例如每天凌晨2点备份:

    crontab -e  
    添加:0 2 * * * /path/to/backup_script.sh  
    

二、恢复操作

  1. 数据库恢复

    mysql -u 用户名 -p密码 数据库名 < backup_file.sql  
    

    若需恢复全库,需先创建空库并导入。

  2. 配置文件恢复

    # Nginx  
    cp -r /path/to/backup/nginx_conf/* /etc/nginx/  
    systemctl restart nginx  
    # PHP  
    cp -r /path/to/backup/php_conf/* /etc/php/版本/  
    
  3. 系统级恢复

    • 解压备份文件并覆盖原目录(需提前停止服务):
      tar -xzvf lnmp_backup.tar.gz -C /  
      
    • 重启服务器完成恢复:
      reboot  
      

三、注意事项

参考来源:

0
看了该问题的人还看了