温馨提示×

怎样备份linux lnmp

小樊
45
2026-10-12 12:57:28
栏目: 智能运维

在 Linux 上备份 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 环境,通常要分三部分:网站文件、数据库、配置文件。下面给你一套实用、可落地的备份方案。


一、备份内容说明

LNMP 一般要备份:

  1. 网站程序与静态文件(如 /home/wwwroot 或 /var/www)
  2. 数据库(MySQL / MariaDB)
  3. Nginx / PHP / MySQL 配置文件
  4. (可选)计划任务、SSL 证书

二、目录与文件常见位置

1. 网站目录

/home/wwwroot/
# 或
/var/www/html/

2. Nginx

/etc/nginx/
/usr/local/nginx/conf/

3. MySQL / MariaDB

/etc/my.cnf
/var/lib/mysql/   # 不建议直接拷,用 mysqldump 更稳

4. PHP

/etc/php.ini
/etc/php-fpm.conf
/usr/local/php/etc/

5. 证书(如有)

/etc/letsencrypt/
/usr/local/nginx/conf/ssl/

三、数据库备份(最重要)

方法 1:mysqldump(推荐)

mysqldump -u root -p --all-databases > lnmp_mysql_$(date +%F).sql

只备份某个库:

mysqldump -u root -p dbname > dbname.sql

压缩:

mysqldump -u root -p --all-databases | gzip > lnmp_mysql_$(date +%F).sql.gz

四、网站文件备份

tar zcf www_backup_$(date +%F).tar.gz /home/wwwroot

如只备份某一个站点:

tar zcf site_backup.tar.gz /home/wwwroot/example.com

五、配置文件备份

tar zcf lnmp_conf_$(date +%F).tar.gz \
/etc/nginx \
/etc/php.ini \
/etc/php-fpm.conf \
/etc/my.cnf

如果是 OneinStack / LNMP 一键包:

tar zcf lnmp_conf.tar.gz /usr/local/nginx/conf /usr/local/php/etc

六、一键备份脚本示例(推荐)

#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup

mkdir -p $BACKUP_DIR

# 网站
tar zcf $BACKUP_DIR/www_$DATE.tar.gz /home/wwwroot

# 数据库
mysqldump -u root -pPASSWORD --all-databases | gzip > $BACKUP_DIR/mysql_$DATE.sql.gz

# 配置
tar zcf $BACKUP_DIR/conf_$DATE.tar.gz /etc/nginx /etc/php.ini /etc/my.cnf

保存为 backup.sh:

chmod +x backup.sh
./backup.sh

七、定时自动备份(crontab)

crontab -e

每天凌晨 3 点:

0 3 * * * /root/backup.sh

八、备份到远程(强烈建议)

1. 用 rsync

rsync -avz /backup/ user@backup-server:/data/backup/

2. 用 scp

scp /backup/* user@remote:/backup/

九、恢复方法简述

数据库恢复

mysql -u root -p < lnmp_mysql.sql

网站恢复

tar zxf www_backup.tar.gz -C /

Nginx 恢复

tar zxf conf_backup.tar.gz -C /
nginx -t
systemctl restart nginx

十、常见 LNMP 一键包说明

  • LNMP.org 一键包
    • 网站:/home/wwwroot
    • 配置:/usr/local/nginx/conf
  • OneinStack
    • 自带:/root/oneinstack/backup.sh

如果你愿意,可以告诉我:

  • 你用的是 哪种 LNMP(官方包 / OneinStack / 宝塔)
  • 是 物理机 / 云服务器 / 容器
  • 是否需要 自动异地备份

我可以给你定制一套备份方案。

0 踩