温馨提示×

怎么备份CentOS Apache

小樊
52
2026-08-18 21:08:57
栏目: 智能运维

CentOS 上备份 Apache 主要是备份 配置文件、网站数据和日志(或整个系统),下面按常见场景给你一套清晰实用的做法。


一、备份 Apache 核心内容

1️⃣ 备份 Apache 配置文件

CentOS 中 Apache 默认配置目录是:

/etc/httpd/

备份命令:

tar -czvf httpd-conf-$(date +%F).tar.gz /etc/httpd

✅ 包含内容:

  • /etc/httpd/conf/httpd.conf
  • /etc/httpd/conf.d/
  • 虚拟主机配置等

2️⃣ 备份网站数据(最重要)

默认网站目录:

/var/www/html

备份命令:

tar -czvf www-data-$(date +%F).tar.gz /var/www

✅ 如有多个站点,确认:

ls /var/www

3️⃣ 备份日志(可选)

tar -czvf httpd-logs-$(date +%F).tar.gz /var/log/httpd

⚠️ 日志通常较大,可按需备份或只保留近期。


二、一键备份 Apache(推荐)

tar -czvf apache-backup-$(date +%F).tar.gz \
/etc/httpd \
/var/www \
/var/log/httpd

三、使用脚本自动备份(生产推荐)

1️⃣ 创建备份脚本

vi /usr/local/bin/backup_apache.sh

内容:

#!/bin/bash
BACKUP_DIR=/backup/apache
DATE=$(date +%F)

mkdir -p $BACKUP_DIR

tar -czvf $BACKUP_DIR/apache-$DATE.tar.gz \
/etc/httpd \
/var/www

# 只保留最近 7 天
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

2️⃣ 赋予执行权限

chmod +x /usr/local/bin/backup_apache.sh

3️⃣ 加入定时任务

crontab -e

每天凌晨 2 点备份:

0 2 * * * /usr/local/bin/backup_apache.sh

四、如果是 CentOS 7/8 + 使用 firewalld / SELinux

备份 SELinux 上下文(可选)

cp /etc/selinux/config /backup/

查看 Apache 端口

ss -lntp | grep httpd

五、恢复 Apache 备份

恢复配置

tar -xzvf httpd-conf-2026-01-21.tar.gz -C /

恢复网站

tar -xzvf www-data-2026-01-21.tar.gz -C /

重启 Apache

systemctl restart httpd

六、如果你用的是 CentOS Stream / 云服务器

✅ 建议同时备份:

  • 数据库(如 MySQL / MariaDB)
  • SSL 证书(/etc/letsencrypt/etc/pki/tls

七、总结(最简版)

# 备份
tar -czvf apache-backup.tar.gz /etc/httpd /var/www

# 恢复
tar -xzvf apache-backup.tar.gz -C /
systemctl restart httpd

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(6 / 7 / 8 / Stream)
  • ✅ 是否用 虚拟主机 / HTTPS
  • ✅ 是否需要 数据库一起备份

我可以帮你定制一套完整备份方案。

0