在 CentOS 上,Apache 通常是指 httpd(而不是 Debian/Ubuntu 中的 apache2)。下面给你一套实用备份方案,包含配置文件、网站文件、数据库。
CentOS 上 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/*(如果有 HTTPS)grep -R "DocumentRoot" /etc/httpd/
常见路径:
/var/www/html
/var/www/
tar czvf www-data-$(date +%F).tar.gz /var/www
如果有多个站点:
ls /etc/httpd/conf.d/
一般每个站点一个 .conf 文件,已包含在 /etc/httpd 备份中。
mysqldump -u root -p --all-databases > mysql-all-$(date +%F).sql
mysqldump -u root -p dbname > dbname-$(date +%F).sql
#!/bin/bash
BACKUP_DIR=/backup/apache
DATE=$(date +%F)
mkdir -p $BACKUP_DIR
# 配置
tar czf $BACKUP_DIR/httpd-conf-$DATE.tar.gz /etc/httpd
# 网站
tar czf $BACKUP_DIR/www-$DATE.tar.gz /var/www
# 数据库
mysqldump -u root -p123456 --all-databases > $BACKUP_DIR/mysql-$DATE.sql
echo "Backup done: $DATE"
赋予执行权限:
chmod +x backup.sh
加入定时任务(每天凌晨 2 点):
crontab -e
0 2 * * * /root/backup.sh
tar xzvf httpd-conf-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、oss、s3)
✅ 定期测试恢复
✅ 配置文件 + 数据 + 数据库 三者缺一不可
如果你愿意,我可以:
你目前是 CentOS 几?单机还是生产环境?