自动备份和快照有什么不同
两者都是复制整块服务器磁盘的方法,但创建时机和计费方式不同。
- 自动备份:创建服务器时开启的附加选项。整个服务器磁盘的副本将按固定计划自动生成,费用为服务器费用的 5.6%,并添加到发票中。如需恢复,请在首次付款后在支持页面上提交请求,我们将为您处理。
- 快照:单独订购的产品。保存在大型更新前等自己决定的时刻的整块磁盘,按存储空间每 GB 每月 $0.009 计费。订购时在 20GB 到 2,000GB 之间以 10GB 为单位选择容量。
每天变化的网站和数据库交给自动备份自动守护,在操作系统升级等难以回退的工作之前留一个快照,两项功能就能互补。产品说明见自动备份和快照页面。
开启自动备份
- 在账户中点击新建服务器,选择地区、规格和镜像。
- 开启附加选项中的自动备份。
- 右侧摘要会立即显示服务器与备份合计的月费。
- 点击创建服务器并支付所选计费周期的费用,然后在周期结束前支付续费发票以保持服务器运行。
自动备份是创建服务器时选择的选项。想保护正在使用的服务器的数据,请订购快照或同时使用下面的服务器内备份。通过 API 创建服务器时,在请求中加入 "backups": true 即可开启同样的选项。
申请从自动备份恢复
恢复由我们的支持人员处理,他们会准确回滚到您想要的时间点。首次付款后,请在支持页面上按此方式提交请求。
- 主题选择服务器。
- 在服务器名称栏中填写要恢复的服务器名称。
- 在内容中写明想恢复到的日期和时间(UTC),以及是否恢复到同一台服务器。
恢复后,服务器磁盘会变为备份时的内容,之后创建的文件将会消失。如果有想保留的近期文件,请在申请前下载到您的电脑。回复会显示在客服中心页面。
订购快照
- 在快照页面点击订购。
- 选择存储容量。与服务器磁盘相同或略大的容量,就能充裕地装下整块磁盘。
- 在名称栏中写上目标服务器名称,就能立刻知道是哪台服务器的快照。可以使用英文字母、数字、点和连字符。
- 下单时支付所选计费周期的费用,准备完成后它将显示在您账户的产品列表中。
对于持续写入的服务器(如数据库),在创建快照时短暂暂停服务或停止服务器可以获得最干净的镜像。如需回滚到快照或从中创建新服务器,请在首次付款后在支持页面上提交服务器名称和快照名称的请求,我们将为您处理。
在服务器内自行备份
如果说自动备份和快照守护的是整台服务器,服务器内备份则是把文件和数据库在别处再存一份的方法。遵循“三份副本、两种存储、一份异地”的3-2-1原则最为稳妥。
第1步. 打包文件和数据库
mkdir -p /root/backup
tar czf /root/backup/www-$(date +%F).tar.gz /var/www
mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +%F).sql.gzPostgreSQL 用 sudo -u postgres pg_dumpall | gzip > /root/backup/pg-$(date +%F).sql.gz,Docker 卷用 docker run --rm -v 卷名:/data -v /root/backup:/out alpine tar czf /out/卷名.tar.gz -C /data . 打包。
第2步. 每天自动运行
用 crontab -e 打开定时任务,加入下面三行,每天凌晨3点(服务器时间)生成备份文件,并清理超过7天的文件。在 crontab 中,% 前面要加反斜杠。
0 3 * * * tar czf /root/backup/www-$(date +\%F).tar.gz /var/www
5 3 * * * mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +\%F).sql.gz
30 3 * * * find /root/backup -name '*.gz' -mtime +7 -delete第3步. 再发送一份到别处
备份文件如果只在同一台服务器上,可能会随服务器一起丢失。用 rsync 发送到其他地区的服务器,或用 rclone 上传到对象存储,就在别处多了一份。
rsync -az /root/backup/ backup@BACKUP_SERVER_IP:/backups/web-1/不同情况应该选哪种方法
三种方法与其说互相替代,不如说搭配使用最为可靠。请按自己服务器的用途这样组合。
- 个人博客、小型网站:创建服务器时开启自动备份,在大幅修改主题或插件前下载一份 WordPress 导出文件,就足够了。
- 网店、会员服务:在自动备份之外,每天生成数据库转储并发送一份到其他地区。订单记录和会员信息可以按小时找回。
- 开发、测试服务器:大型实验前留一个快照,实验结束后删除快照,节省存储费用。
- 使用多台相同配置的服务器时:长期保存作为基准的服务器快照,新服务器就能快速对齐到同一状态。
无论哪种组合,关键在于服务器之外是否也有一份副本,以及是否真的用该副本恢复过。只要做好这两点,即使突发失误或故障,也能从容恢复服务。
也请一起考虑费用。自动备份按服务器费用的 5.6% 确定,每月金额相同;快照只按保存的容量收费。服务器内备份不额外收费,只占用磁盘空间,但发送到别处的副本需要接收端的存储空间。以必须守护的数据大小和需要恢复的频率为准来选择,就能兼顾成本与安全。
恢复演练与好习惯
备份只有能恢复才有价值。每月一次左右新建一台小服务器,解开备份文件,确认网站能否打开,实际遇到情况时就不会手忙脚乱。确认完毕的测试服务器立即删除即可。
- 大型操作前,先留一个快照或备份文件。
- 在备份文件名中加入日期和服务器名称,一眼就知道是哪个时间点的。
- 含有数据库密码、API 密钥等机密信息的备份,只保存在安全的地方。
- 重装服务器前,先完成重装指南中的数据转移步骤。
如果磁盘空间不足、难以长期保存备份,也可以给服务器加挂 NVMe 块磁盘作为备份专用空间。使用 Docker 的话,也请一并查看 Docker 安装指南中的卷管理。
