温馨提示×

怎样备份debian lamp数据

小樊
35
2026-10-10 16:35:21
栏目: 智能运维

在 Debian 上备份 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 环境,通常要备份三部分:网站文件、数据库、配置文件。下面按「手动备份」和「自动备份」两种方式来说明。


一、备份前准备

建议以 root 或具有 sudo 权限的用户操作。

常见目录:

  • 网站根目录:/var/www/
  • Apache 配置:/etc/apache2/
  • PHP 配置:/etc/php/
  • 数据库数据:通过 mysqldump 导出(不要直接拷 /var/lib/mysql)

二、手动备份(推荐新手)

1️⃣ 备份网站文件

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

2️⃣ 备份 Apache 和 PHP 配置

sudo tar -czvf /backup/apache-php-config-$(date +%F).tar.gz /etc/apache2 /etc/php

3️⃣ 备份数据库(MySQL / MariaDB)

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

或单个数据库:

mysqldump -u user -p dbname > dbname.sql

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

创建脚本 /root/backup_lamp.sh:

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

mkdir -p $BACKUP_DIR

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

# 配置
tar -czf $BACKUP_DIR/config-$DATE.tar.gz /etc/apache2 /etc/php

# 数据库
mysqldump -u root -p'密码' --all-databases > $BACKUP_DIR/mysql-$DATE.sql

echo "Backup completed: $DATE"

赋权并执行:

chmod +x /root/backup_lamp.sh
/root/backup_lamp.sh

四、自动定时备份(cron)

编辑定时任务:

crontab -e

每天凌晨 2 点备份:

0 2 * * * /root/backup_lamp.sh

五、备份到远程(更安全)

可结合 rsync 或 scp:

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

六、恢复方法(简要)

  • 网站文件:解压到 /var/www
  • 配置:覆盖 /etc/apache2、/etc/php
  • 数据库:
mysql -u root -p < mysql-xxx.sql

如果你愿意,我可以:

  • 给你 只备份某个网站 的方案
  • 或教你用 rsnapshot / Borg / Duplicity 做增量备份
  • 或针对 Debian 11/12 + MariaDB 细化步骤

你目前是 MySQL 还是 MariaDB?网站多吗?

0 踩