温馨提示×

怎么备份linux lamp

小樊
46
2026-09-12 14:08:45
栏目: 智能运维

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


一、备份内容说明

类型 常见路径
网站文件 /var/www/html/home/www
Apache 配置 /etc/apache2/(Ubuntu/Debian)
/etc/httpd/(CentOS/RHEL)
PHP 配置 /etc/php/
数据库 MySQL / MariaDB
系统用户/权限 可选(如 FTP 用户)

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

1️⃣ 使用 mysqldump(推荐)

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

只备份某个库:

mysqldump -u root -p dbname > /backup/dbname.sql

✅ 优点:通用、可恢复性强
❌ 缺点:大库较慢


2️⃣ 压缩备份(节省空间)

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

三、网站文件备份

tar -czf /backup/www_$(date +%F).tar.gz /var/www/html

如有多个站点:

tar -czf /backup/www_all.tar.gz /var/www

四、配置文件备份

Apache

tar -czf /backup/apache_conf.tar.gz /etc/apache2
# 或
tar -czf /backup/httpd_conf.tar.gz /etc/httpd

PHP

tar -czf /backup/php_conf.tar.gz /etc/php

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

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

mkdir -p $BACKUP_DIR

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

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

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

保存为 backup.sh,然后:

chmod +x backup.sh
./backup.sh

六、自动定时备份(crontab)

crontab -e

每天凌晨 2 点:

0 2 * * * /root/backup.sh

七、备份到远程(防止服务器炸了)

用 rsync

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

或用 scp

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

八、恢复方法(简单示例)

恢复数据库

gunzip < mysql_2026-01-21.sql.gz | mysql -u root -p

恢复网站

tar -xzf www_2026-01-21.tar.gz -C /

九、进阶建议

  • 使用 Percona XtraBackup(大数据库)
  • 使用 Borg / Restic(增量加密备份)
  • 定期测试恢复 ✅(非常重要)

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

  • 系统(Ubuntu / CentOS / AlmaLinux)
  • 数据库版本
  • 是否生产环境

我可以帮你写一套 完全适配你服务器的备份方案

0