以下是Debian LAMP服务器的备份方案,涵盖系统、数据库及自动化策略:
全系统备份(tar命令)
sudo tar -czvf backup.tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/run --exclude=/lostfound /
排除虚拟文件系统和临时目录,减少备份体积。
磁盘克隆(Clonezilla)
MySQL/MariaDB备份
mysqldump -u username -p --all-databases > all_databases.sql
或使用并行工具mysqlpump
(MySQL 5.7+)提升速度。rsync
同步数据库文件目录(需确保数据一致性)。PostgreSQL备份
pg_dump
导出单个数据库:pg_dump -U username -W -d dbname > dbname.sql
或pg_dumpall
备份所有数据库。sudo rsync -avz --delete /var/www/html /path/to/backup/ # 备份网站文件
sudo rsync -avz --delete /etc/apache2 /path/to/backup/ # 备份配置文件
通过--delete
参数同步删除操作,保持备份与源一致。定时任务(crontab)
# 每天凌晨2点执行全量备份
0 2 * * * tar -czvf /backup/$(date +\%F).tar.gz /path/to/source
# 每小时同步数据库增量
0 * * * * rsync -avz /var/lib/mysql /backup/mysql_incremental/
加密与存储
duplicity
加密备份文件并上传至云存储:duplicity --encrypt-key "YOUR_KEY" /path/to/source s3://your-bucket/backup/
backupninja
)监控备份任务执行情况。工具推荐:
tar
、Clonezilla
rsync
、duplicity
、backupninja
mysqldump
、xtrabackup
(适用于大规模数据库)根据业务需求选择组合方案,优先确保核心数据(如数据库、配置文件)的安全性和可恢复性。