在 CentOS 上,Apache 通常叫 httpd,而不是 apache2(apache2 是 Ubuntu/Debian 的叫法)。下面按最常见场景给你一份实用备份方案。
一般包括:
/etc/httpd/
tar czf httpd-conf-$(date +%F).tar.gz /etc/httpd
/var/www/html
tar czf www-html-$(date +%F).tar.gz /var/www/html
如果你用了虚拟主机,目录可能是:
/srv/www
/data/www
/home/xxx/public_html
按实际情况替换。
mysqldump -u root -p --all-databases > mysql-all-$(date +%F).sql
mysqldump -u root -p dbname > dbname-$(date +%F).sql
tar czf httpd-logs-$(date +%F).tar.gz /var/log/httpd
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup
mkdir -p $BACKUP_DIR
tar czf $BACKUP_DIR/httpd-conf-$DATE.tar.gz /etc/httpd
tar czf $BACKUP_DIR/www-html-$DATE.tar.gz /var/www/html
mysqldump -u root -p密码 --all-databases > $BACKUP_DIR/mysql-$DATE.sql
赋权并执行:
chmod +x backup.sh
./backup.sh
tar xzf httpd-conf-2026-01-21.tar.gz -C /
tar xzf www-html-2026-01-21.tar.gz -C /
mysql -u root -p < mysql-2026-01-21.sql
如果你用的是 CentOS + Nginx、PHP 网站、Docker Apache,或想做自动异地备份,可以告诉我,我给你更精确的方案。