在 Debian 上备份 Apache,通常需要备份配置文件、网站文件、数据库(如有)和 SSL 证书。下面给你一套实用做法。
Apache 配置一般在 /etc/apache2:
sudo tar -czvf apache2-config-$(date +%F).tar.gz /etc/apache2
常见重要目录:
/etc/apache2/sites-available/etc/apache2/sites-enabled/etc/apache2/mods-enabled/etc/apache2/ports.conf默认网站目录通常是:
/var/www/htmlsudo tar -czvf www-data-$(date +%F).tar.gz /var/www
如果有多站点:
sudo tar -czvf web-backup-$(date +%F).tar.gz /var/www /srv/www
如果有网站使用数据库(如 WordPress):
mysqldump -u root -p --all-databases > mysql-all-$(date +%F).sql
或单个数据库:
mysqldump -u user -p dbname > dbname-$(date +%F).sql
压缩:
gzip mysql-all-$(date +%F).sql
如果使用 Let’s Encrypt:
sudo tar -czvf letsencrypt-$(date +%F).tar.gz /etc/letsencrypt
如果是手动证书:
sudo tar -czvf ssl-certs-$(date +%F).tar.gz /etc/ssl
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup/apache
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/apache2-$DATE.tar.gz /etc/apache2
tar -czf $BACKUP_DIR/www-$DATE.tar.gz /var/www
tar -czf $BACKUP_DIR/letsencrypt-$DATE.tar.gz /etc/letsencrypt
mysqldump -u root -p --all-databases | gzip > $BACKUP_DIR/mysql-$DATE.sql.gz
赋予执行权限:
chmod +x backup_apache.sh
可用 cron 定时执行:
0 3 * * * /path/backup_apache.sh
tar -xzvf apache2-2026-01-21.tar.gz -C /
tar -xzvf www-2026-01-21.tar.gz -C /
mysql -u root -p < mysql-2026-01-21.sql
然后:
sudo systemctl restart apache2
如果你愿意,可以告诉我:
我可以给你更精确的备份方案。