加油
努力

重装服务器系统前需要备份哪些网站相关设置?

重装服务器系统意味着操作系统层面的数据将被清空,因此必须提前备份所有配置信息、代码逻辑和数据库。如果只备份了网站文件而忽略了配置,重装后你将面临“网站能打开但无法连接数据库”或“功能完全失效”的困境。

以下是需要重点备份的网站相关设置清单,按重要性分类:

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 文件(包含敏感的环境变量)。
  • 数据库连接配置
    • 应用层配置文件:大多数 CMS(如 WordPress 的 wp-config.php)或框架(如 Laravel 的 .env)都存储着数据库名称、用户名、密码和主机地址。务必单独备份此文件
  • 定时任务与 Cron
    • 检查并导出 crontab -l 的输出。很多网站的自动备份、邮件发送、缓存清理都依赖于此。

2. 网站源代码与静态资源

确保你的业务逻辑和前端展示不丢失。

  • 网站根目录文件
    • 备份整个 Web 目录(例如 /var/www/html/home/wwwroot)。
    • 注意:使用 tarrsync 打包时,建议排除掉临时文件(如 cache, logs, tmp),以减小体积并避免垃圾数据污染新系统。
  • 自定义脚本与工具
    • 如果有自行编写的部署脚本、监控脚本或 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_rsaid_rsa.pub,否则重装后无法免密登录。
  • 其他认证凭据
    • 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)是开放的。

💡 操作建议与最佳实践

  1. 异地备份:绝对不要将备份文件存放在同一台待重装的服务器上。请上传到本地电脑、云盘(如 AWS S3、Google Drive)或其他安全的存储桶中。
  2. 验证备份完整性:在格式化硬盘前,尝试在另一台机器上解压或导入一次备份,确保文件未损坏。
  3. 记录文档化:创建一个简单的 README.txt 或 Excel 表格,列出:
    • 域名解析记录(A 记录、CNAME 等)。
    • 数据库账号密码(加密存储)。
    • 关键配置文件的修改历史。
  4. 停机维护:备份完成后,建议暂时停止网站服务(Stop Nginx/Apache),防止在备份过程中有新数据写入导致数据不一致。

总结公式

最终备份包 = 网站源码 + 数据库 SQL + Web 配置 (Nginx/Apache) + 应用配置 (.env/wp-config) + SSL 证书 + 定时任务 (Cron) + 依赖版本列表

完成以上备份后,你就可以放心地开始重装系统流程了。

云服务器