温馨提示×

怎么备份 linux lnmp

小樊
37
2026-09-12 14:36:43
栏目: 智能运维

在 Linux 上“备份 LNMP”(Linux + Nginx + MySQL/MariaDB + PHP)通常包括四部分
Nginx 配置、网站文件、数据库、可能还有 PHP 配置。下面给你一套实用、可执行的备份方案,从简单到规范。


一、备份前先确认环境

nginx -v
mysql -V
php -v

常见路径(不同系统略有差异):

  • Nginx 配置:/etc/nginx/
  • 网站目录:/home/wwwroot/var/www
  • MySQL 数据:/var/lib/mysql
  • PHP 配置:/etc/php/

二、备份 Nginx(配置 + 网站)

1️⃣ 备份 Nginx 配置

tar czf nginx-conf-$(date +%F).tar.gz /etc/nginx

2️⃣ 备份网站文件

tar czf wwwroot-$(date +%F).tar.gz /home/wwwroot

如果是 /var/www

tar czf wwwroot-$(date +%F).tar.gz /var/www

三、备份 MySQL / MariaDB(重点)

⚠️ 不要直接拷 /var/lib/mysql,要用 mysqldump

1️⃣ 备份所有数据库

mysqldump -uroot -p --all-databases > mysql-all-$(date +%F).sql

2️⃣ 只备份某个库

mysqldump -uroot -p dbname > dbname-$(date +%F).sql

3️⃣ 压缩数据库备份

mysqldump -uroot -p --all-databases | gzip > mysql-all-$(date +%F).sql.gz

四、备份 PHP(可选但推荐)

tar czf php-conf-$(date +%F).tar.gz /etc/php

五、一键备份脚本(推荐)

保存为 backup_lnmp.sh

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

mkdir -p $BACKUP_DIR

# Nginx
tar czf $BACKUP_DIR/nginx-$DATE.tar.gz /etc/nginx

# 网站
tar czf $BACKUP_DIR/www-$DATE.tar.gz /home/wwwroot

# MySQL
mysqldump -uroot -p'你的密码' --all-databases | gzip > $BACKUP_DIR/mysql-$DATE.sql.gz

# PHP
tar czf $BACKUP_DIR/php-$DATE.tar.gz /etc/php

加执行权限:

chmod +x backup_lnmp.sh

六、定时自动备份(crontab)

每天凌晨 3 点备份:

crontab -e

添加:

0 3 * * * /root/backup_lnmp.sh

七、恢复方式(简要)

Nginx

tar xzf nginx-xxx.tar.gz -C /

网站

tar xzf www-xxx.tar.gz -C /

MySQL

gunzip < mysql-xxx.sql.gz | mysql -uroot -p

八、进阶建议(生产环境)

✅ 备份到异地 / 云盘(rsync、oss、s3)
✅ 保留 7~30 天备份
✅ 使用 xtrabackup(大库)
✅ 使用 LNMP 一键包自带备份脚本


如果你用的是:

  • LNMP 一键安装包
  • 宝塔
  • Docker LNMP

告诉我,我可以给你对应版本的专用备份方法

0