温馨提示×

如何备份Debian的LAMP数据

小樊
41
2026-10-01 20:17:29
栏目: 智能运维

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


一、备份网站文件(Apache 网站目录)

默认网站目录一般在:

/var/www/html

1. 打包网站文件

tar -czvf /backup/www-backup-$(date +%F).tar.gz /var/www

2. 可选:排除缓存目录

tar -czvf /backup/www-backup.tar.gz \
  --exclude=/var/www/html/cache \
  --exclude=/var/www/html/tmp \
  /var/www

二、备份数据库(MySQL / MariaDB)

方法 1:使用 mysqldump(推荐)

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

或单个数据库:

mysqldump -u root -p dbname | gzip > /backup/dbname-$(date +%F).sql.gz

方法 2:物理备份(适合大库,需停服务)

systemctl stop mariadb
tar -czvf /backup/mysql-data.tar.gz /var/lib/mysql
systemctl start mariadb

三、备份 LAMP 配置文件

Apache

tar -czvf /backup/apache-conf.tar.gz /etc/apache2

PHP

tar -czvf /backup/php-conf.tar.gz /etc/php

MySQL / MariaDB

tar -czvf /backup/mysql-conf.tar.gz /etc/mysql

四、一键备份脚本示例

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

mkdir -p $BACKUP_DIR

# 网站
tar -czvf $BACKUP_DIR/www-$DATE.tar.gz /var/www

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

# 配置
tar -czvf $BACKUP_DIR/conf-$DATE.tar.gz /etc/apache2 /etc/php /etc/mysql

赋权并执行:

chmod +x backup.sh
./backup.sh

五、自动定时备份(cron)

crontab -e

每天凌晨 2 点备份:

0 2 * * * /root/backup.sh

六、备份到远程(推荐)

使用 rsync

rsync -avz /backup/ user@remote:/remote/backup/

或使用 scp

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

七、恢复方法简述

  • 网站:解压到 /var/www
  • 数据库:
gunzip < mysql.sql.gz | mysql -u root -p
  • 配置:覆盖 /etc 对应目录并重启服务

如果你愿意,我可以:

  • 给你 Docker 版 LAMP 备份方案
  • 或针对 WordPress / Discuz / 自建系统 定制备份脚本

0 踩