在 Ubuntu 上备份 Apache2,通常需要备份 配置文件、网站文件、数据库(如有)和证书(如有)。下面按常见场景给你一个完整、可操作的备份方案。
Apache2 的配置主要集中在:
/etc/apache2/
sudo tar czf apache2-conf-$(date +%F).tar.gz /etc/apache2
备份内容包含:
sites-available/(虚拟主机配置)sites-enabled/mods-enabled/ports.confapache2.conf常见网站根目录:
/var/www/
sudo tar czf www-$(date +%F).tar.gz /var/www
如果你是多用户或自定义路径,请确认:
apachectl -S
查看 DocumentRoot 实际位置。
sudo mysql -u root -p
show databases;
sudo mysqldump -u root -p --all-databases > mysql-all-$(date +%F).sql
或单个数据库:
mysqldump -u root -p dbname > dbname.sql
/etc/ssl/certs/
/etc/ssl/private/
/etc/letsencrypt/
sudo tar czf letsencrypt-$(date +%F).tar.gz /etc/letsencrypt
⚠️ 注意:/etc/ssl/private 权限敏感,建议用 sudo
如果网站依赖特定系统用户:
sudo tar czf home-www-$(date +%F).tar.gz /home/www
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup/apache2
mkdir -p $BACKUP_DIR
sudo tar czf $BACKUP_DIR/apache2-conf-$DATE.tar.gz /etc/apache2
sudo tar czf $BACKUP_DIR/www-$DATE.tar.gz /var/www
sudo tar czf $BACKUP_DIR/letsencrypt-$DATE.tar.gz /etc/letsencrypt
sudo mysqldump -u root -p --all-databases > $BACKUP_DIR/mysql-$DATE.sql
chmod +x backup_apache.sh
sudo ./backup_apache.sh
sudo tar xzf apache2-conf-*.tar.gz -C /
sudo tar xzf www-*.tar.gz -C /
sudo mysql -u root -p < mysql-*.sql
sudo systemctl restart apache2
✅ 定期备份(cron)
✅ 备份到异地或云盘
✅ 测试恢复流程
✅ 记录 Apache 版本
apache2 -v
如果你愿意,可以告诉我:
我可以给你定制备份方案。