在 Debian 上备份 Apache 通常包含三部分:配置文件、网站文件、数据库(如果有)。下面给你一套实用做法。
Apache 配置一般在 /etc/apache2:
sudo tar czvf apache2-conf-$(date +%F).tar.gz /etc/apache2
如需包含虚拟主机和模块启用状态,上面已足够。
默认网站目录通常是 /var/www:
sudo tar czvf www-$(date +%F).tar.gz /var/www
如果你用了其他目录(如 /srv/www),请相应替换。
mysql -u root -p -e "SHOW DATABASES;"
mysqldump -u root -p --all-databases > mysql-all-$(date +%F).sql
mysqldump -u root -p dbname > dbname-$(date +%F).sql
#!/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
mysqldump -u root -pPASSWORD --all-databases > $BACKUP_DIR/mysql-$DATE.sql
echo "Backup done: $DATE"
⚠️ 脚本里密码明文不安全,建议用 ~/.my.cnf。
sudo crontab -e
添加:
0 3 * * * /path/to/backup.sh
tar xzf apache2-2026-01-21.tar.gz -C /
tar xzf www-2026-01-21.tar.gz -C /
mysql -u root -p < mysql-2026-01-21.sql
systemctl restart apache2
如果你告诉我:
我可以给你更精确的方案。