重装服务器系统意味着操作系统层面的数据将被清空,因此必须提前备份所有配置信息、代码逻辑和数据库。如果只备份了网站文件而忽略了配置,重装后你将面临“网站能打开但无法连接数据库”或“功能完全失效”的困境。
以下是需要重点备份的网站相关设置清单,按重要性分类:
1. 核心配置文件(最关键)
这些文件决定了网站如何运行、如何连接数据库以及服务器的安全策略。
- Web 服务器配置:
- Nginx/Apache 配置文件:通常位于
/etc/nginx/sites-available/或/etc/apache2/sites-enabled/。这里包含虚拟主机(VirtualHost)设置、SSL 证书路径、端口映射、URL 重写规则(Rewrite Rules)等。 - PHP/Python/Node.js 环境配置:如
php.ini、.htaccess(Apache 特有的覆盖配置)、.env文件(包含敏感的环境变量)。
- Nginx/Apache 配置文件:通常位于
- 数据库连接配置:
- 应用层配置文件:大多数 CMS(如 WordPress 的
wp-config.php)或框架(如 Laravel 的.env)都存储着数据库名称、用户名、密码和主机地址。务必单独备份此文件。
- 应用层配置文件:大多数 CMS(如 WordPress 的
- 定时任务与 Cron:
- 检查并导出
crontab -l的输出。很多网站的自动备份、邮件发送、缓存清理都依赖于此。
- 检查并导出
2. 网站源代码与静态资源
确保你的业务逻辑和前端展示不丢失。
- 网站根目录文件:
- 备份整个 Web 目录(例如
/var/www/html或/home/wwwroot)。 - 注意:使用
tar或rsync打包时,建议排除掉临时文件(如cache,logs,tmp),以减小体积并避免垃圾数据污染新系统。
- 备份整个 Web 目录(例如
- 自定义脚本与工具:
- 如果有自行编写的部署脚本、监控脚本或 API 接口代码,请一并归档。
3. 数据库内容
这是网站的“灵魂”,包含用户数据、文章、订单等。
- 全量数据导出:
- 不要只备份数据库结构,必须导出完整数据。
- MySQL/MariaDB:使用
mysqldump命令生成.sql文件。 - PostgreSQL:使用
pg_dump。 - MongoDB:使用
mongodump。
- 数据库用户权限:
- 记录当前数据库中创建的专用用户及其权限(Grant 语句)。重装后,你需要在新系统中重新创建相同的用户并赋予相同权限。
4. SSL 证书与安全凭证
没有证书,网站将变成“不安全”状态,浏览器会报警。
- SSL 证书文件:
- 备份
.crt(公钥) 和.key(私钥) 文件。 - 如果是 Let’s Encrypt,备份整个
/etc/letsencrypt/目录(包含续期脚本和证书链)。
- 备份
- SSH 密钥对:
- 如果你使用 SSH Key 登录,备份
~/.ssh/id_rsa和id_rsa.pub,否则重装后无法免密登录。
- 如果你使用 SSH Key 登录,备份
- 其他认证凭据:
- API Key、第三方服务令牌(如阿里云 OSS Key、微信 AppID/Secret 等),通常存储在环境变量或配置文件中。
5. 特殊环境与依赖
如果你的网站运行在特定的环境中,这些容易被忽略。
- Docker 配置:如果使用 Docker,需备份
docker-compose.yml文件以及挂载卷(Volumes)的数据。 - 软件版本列表:记录当前安装的 PHP 版本、MySQL 版本、扩展模块(Extensions)列表。重装后,新系统默认版本可能不同,导致代码报错(例如 PHP 7.x 和 8.x 语法差异)。
- 防火墙规则:备份当前的 iptables 或 firewalld 规则,确保新系统上线后端口(如 80, 443, 22)是开放的。
💡 操作建议与最佳实践
- 异地备份:绝对不要将备份文件存放在同一台待重装的服务器上。请上传到本地电脑、云盘(如 AWS S3、Google Drive)或其他安全的存储桶中。
- 验证备份完整性:在格式化硬盘前,尝试在另一台机器上解压或导入一次备份,确保文件未损坏。
- 记录文档化:创建一个简单的
README.txt或 Excel 表格,列出:- 域名解析记录(A 记录、CNAME 等)。
- 数据库账号密码(加密存储)。
- 关键配置文件的修改历史。
- 停机维护:备份完成后,建议暂时停止网站服务(Stop Nginx/Apache),防止在备份过程中有新数据写入导致数据不一致。
总结公式:
最终备份包 = 网站源码 + 数据库 SQL + Web 配置 (Nginx/Apache) + 应用配置 (.env/wp-config) + SSL 证书 + 定时任务 (Cron) + 依赖版本列表
完成以上备份后,你就可以放心地开始重装系统流程了。
云小栈