现象

云服务器因系统故障、性能瓶颈或版本升级需要重装操作系统。若不提前导出关键数据,重装后网站无法访问、数据丢失或运行环境不一致,导致业务长时间中断。

原因

重装系统会清空系统盘(通常是 /dev/vda 或 C 盘)的所有数据,包括操作系统、安装在系统盘下的网站文件、数据库文件、SSL 证书、crontab 计划任务以及 Nginx/Apache/PHP 等中间件的配置文件。数据盘(如 /dev/vdb)通常保留,但若网站部署在系统盘,则必须手动备份。

先自查(3 分钟)

登录服务器,确认网站根目录、数据库类型及版本、SSL 证书存放路径、计划任务列表以及关键环境变量。若不确定,先停止写入操作,避免备份期间数据变更。

检查磁盘使用情况,确保剩余空间足够存放备份文件,或已准备远程备份目标。

解决步骤

注意:以下命令以 Ubuntu 22.04/24.04 为例,Debian 12 类似;CentOS 7 / Rocky Linux 9 命令略有不同,已分别标注。

1. 备份网站文件

假设网站根目录为 /var/www/html,使用 tar 打包压缩。若文件较大,建议直接传输到本地或对象存储,而非仅留在系统盘。

tar -czf /tmp/website_backup.tar.gz /var/www/html

2. 备份数据库

以 MySQL 8.0 为例,导出所有数据库结构和数据。替换 <user>、<password> 为实际凭据。若使用 MariaDB,命令相同。

mysqldump -u <user> -p --all-databases > /tmp/db_backup.sql

若为 PostgreSQL,使用 pg_dumpall:

pg_dumpall -U <user> > /tmp/pg_backup.sql

3. 备份 SSL 证书

常见路径为 /etc/nginx/ssl/ 或 /etc/ssl/certs/。将整个目录打包,包含 .crt、.key、.pem 文件。

tar -czf /tmp/ssl_backup.tar.gz /etc/nginx/ssl/

4. 导出计划任务(Cron Jobs)

导出当前用户的 crontab 列表,保存为文件以便重装后恢复。

crontab -l > /tmp/crontab_backup.txt

同时备份系统级计划任务目录(如存在):

tar -czf /tmp/cron_dir_backup.tar.gz /etc/cron.d/ /etc/crontab

5. 备份关键环境配置

备份 Nginx/Apache 配置、PHP 配置、环境变量文件等。以 Nginx 为例:

tar -czf /tmp/nginx_conf_backup.tar.gz /etc/nginx/

若使用 PHP-FPM,备份其配置:

tar -czf /tmp/php_fpm_backup.tar.gz /etc/php/

记录关键环境变量,如 JAVA_HOME、PATH 等,可通过 cat 输出到文件:

env > /tmp/env_backup.txt

6. 传输备份文件至安全位置

使用 scp 或 sftp 将 /tmp 下的所有备份文件传输到本地电脑或另一台服务器。不要仅依赖系统盘内的备份。

scp /tmp/website_backup.tar.gz /tmp/db_backup.sql /tmp/ssl_backup.tar.gz /tmp/crontab_backup.txt /tmp/nginx_conf_backup.tar.gz /tmp/php_fpm_backup.tar.gz /tmp/env_backup.txt user@local_ip:/backup/

验证

在本地或临时环境中解压备份文件,检查关键文件是否存在。例如,解压网站包后查看 index.html 是否存在;导入 SQL 文件到测试数据库,确认表和数据完整;检查 SSL 证书文件是否齐全且权限正确。

预防

建立定期备份策略,使用 cron 任务自动备份数据库和网站文件到远程存储。使用版本控制(如 Git)管理配置文件。在会员中心使用「数据库管理」中的「备份」功能,定期创建数据库快照。避免将关键数据仅存储在系统盘,重要数据应放在数据盘或对象存储。

在奇异互动如何最快处理

在「云服务器详情页」,点击「重装系统」前,先通过「VNC 控制台」登录服务器执行上述备份命令,或使用「重置密码」确保能远程登录。若数据库已关联「数据库管理」,可直接使用该模块的「备份」功能生成备份文件。若备份文件较大或需快速恢复,可提交工单,在工单中关联具体云服务器产品,并附上:备份文件列表、备份时间、数据库类型及版本、网站根目录、SSL 证书路径、计划任务内容、关键环境变量截图或文件内容。工单路径:会员中心 → 工单 → 提交工单 → 关联产品(云服务器)→ 描述问题并上传附件。