在 CentOS 上备份 Apache,通常是指备份 Apache 配置文件、网站文件、以及可能的数据库。下面按常见场景给你一个完整、可操作的方案。
Apache 配置一般在以下目录:
/etc/httpd/
tar -czvf httpd-conf-$(date +%F).tar.gz /etc/httpd
常用子目录说明:
/etc/httpd/conf/httpd.conf:主配置/etc/httpd/conf.d/:虚拟主机等配置/etc/httpd/ssl/:SSL 证书(如果有)常见网站根目录:
/var/www/html
/var/www/
tar -czvf www-data-$(date +%F).tar.gz /var/www
如果你使用了自定义目录(如 /data/web),请一并备份。
如果使用 HTTPS:
/etc/pki/tls/
/etc/letsencrypt/ # Let's Encrypt
示例:
tar -czvf ssl-$(date +%F).tar.gz /etc/pki/tls /etc/letsencrypt
mysqldump -u root -p --all-databases > mysql-all-$(date +%F).sql
或单个数据库:
mysqldump -u user -p dbname > dbname-$(date +%F).sql
tar -czvf mysql-backup-$(date +%F).tar.gz mysql-all-*.sql
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup/apache
mkdir -p $BACKUP_DIR
tar -czvf $BACKUP_DIR/httpd-$DATE.tar.gz /etc/httpd
tar -czvf $BACKUP_DIR/www-$DATE.tar.gz /var/www
tar -czvf $BACKUP_DIR/ssl-$DATE.tar.gz /etc/pki/tls /etc/letsencrypt
mysqldump -u root -p --all-databases > $BACKUP_DIR/mysql-$DATE.sql
tar -czvf $BACKUP_DIR/mysql-$DATE.tar.gz $BACKUP_DIR/mysql-$DATE.sql
rm -f $BACKUP_DIR/mysql-$DATE.sql
赋予执行权限:
chmod +x backup_apache.sh
加入定时任务(每天凌晨 2 点):
crontab -e
0 2 * * * /root/backup_apache.sh
tar -xzvf httpd-2026-01-21.tar.gz -C /
tar -xzvf www-2026-01-21.tar.gz -C /
mysql -u root -p < mysql-2026-01-21.sql
✅ 定期备份(每日/每周)
✅ 备份文件放到远程或异地(rsync / scp / 对象存储)
✅ 保留 7~30 天历史
✅ 测试恢复流程
如果你能告诉我:
我可以给你更精准的备份方案。