在 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 用户) |
mysqldump -u root -p --all-databases > /backup/mysql_all_$(date +%F).sql
只备份某个库:
mysqldump -u root -p dbname > /backup/dbname.sql
✅ 优点:通用、可恢复性强
❌ 缺点:大库较慢
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
tar -czf /backup/apache_conf.tar.gz /etc/apache2
# 或
tar -czf /backup/httpd_conf.tar.gz /etc/httpd
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 -e
每天凌晨 2 点:
0 2 * * * /root/backup.sh
rsync -avz /backup/ user@backup-server:/remote/backup/
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 /
如果你愿意,可以告诉我:
我可以帮你写一套 完全适配你服务器的备份方案。