阿里云服务器数据备份教程是指通过快照、自定义镜像、对象存储OSS以及数据库备份工具,对ECS实例系统盘、数据盘和业务数据进行定期保护并可快速恢复的操作方法。

备份前的准备
登录阿里云控制台,进入“云服务器 ECS”页面。
确认目标实例所在地域、可用区以及当前运行状态。
在实例详情页记录云盘ID、实例ID、操作系统类型。
明确需要备份的数据范围:系统盘、数据盘、应用文件、数据库文件、日志文件。
为实例和云盘添加标签,
backup:daily、app:web,方便后续批量管理。检查云盘类型和容量,确认快照配额是否充足。
如果使用RAM子账号操作,需提前授予快照、镜像、OSS相关权限。
创建手动快照
快照是阿里云ECS数据备份的基础方式,用于保存云盘在某一时刻的数据状态,创建快照不会中断实例运行,对业务影响很小。
操作步骤:
在ECS控制台左侧导航栏,单击“实例”。
在实例列表中找到目标实例,单击实例ID进入详情页。
单击“云盘”页签,选择需要备份的云盘。
在操作列单击“创建快照”。
在弹出的对话框中输入快照名称,
web-server-sys-20250101。选择是否开启“快照极速可用”功能,如果没有秒级恢复需求,可保持默认关闭。
单击“确定”,等待快照创建完成。
注意事项:
创建快照前建议暂停大量写入操作,尤其是数据库写入,以保证数据一致性。
快照采用增量存储,只保存变化的数据块,多次快照不会重复计费。
手动快照会一直保留,需要手动删除过期快照。
单块云盘快照数量有地域配额限制,需定期清理无用快照。
配置自动快照策略
日常备份建议使用自动快照策略,避免人为遗漏。
操作步骤:
在ECS控制台左侧导航栏,单击“快照”。
选择“自动快照策略”页签。
单击“创建策略”。
设置策略名称,
daily-backup。选择执行时间,例如每天凌晨2点。
设置重复周期,可选择每天、每周或每月。
设置快照保留时间,例如保留7天。
如需异地备份,可开启“跨地域复制”并选择目标地域。
单击“确定”保存策略。
回到“云盘”列表,选择需要自动备份的云盘,单击“设置自动快照策略”。
选择刚创建的策略并应用。
建议:
系统盘每天备份一次,数据盘根据业务变化频率可每天或每12小时一次。
重要业务数据建议保留至少7天,核心数据可保留30天。
自动快照策略支持修改,调整后会对已绑定云盘立即生效。
制作自定义镜像
自定义镜像可以包含系统盘和数据盘的全部数据,适合整机备份、环境复制和快速恢复。
操作步骤:
在ECS实例列表中,选中目标实例。
单击“更多” -> “云盘和镜像” -> “创建自定义镜像”。
在创建页面输入镜像名称,
web-server-image-20250101。镜像来源选择“系统盘”或“系统盘+数据盘”。
如果选择“系统盘+数据盘”,需要勾选要包含的数据盘快照。
单击“创建”,阿里云会先创建快照,再生成自定义镜像。
在“镜像”页面查看镜像创建进度,完成后可用于新建实例。
注意事项:
创建镜像前建议清理系统日志、临时文件和敏感信息。
Linux实例可清理
/tmp、/var/log中的过期内容。Windows实例建议运行Sysprep工具,避免恢复后SID冲突。
自定义镜像会占用OSS存储空间,会产生存储费用。
镜像创建后无法修改,如需更新需重新创建。
云盘数据备份到OSS
对于需要长期保存或跨地域分发的文件,可将云盘中的数据同步到对象存储OSS。
操作步骤:
登录OSS控制台,创建存储空间Bucket,
ecs-backup-bucket。选择地域,建议与ECS同地域以减少传输费用;如异地容灾可选择其他地域。
创建RAM用户,授予OSS读写权限,并生成AccessKey ID和AccessKey Secret。
在ECS实例上安装ossutil工具,以Linux为例:
wgethttps://gosspublic.alicdn.com/ossutil/1.7.19/ossutil64 chmod+xossutil64 sudomvossutil64/usr/local/bin/ossutil
配置AccessKey:
ossutilconfig
根据提示输入Endpoint、AccessKey ID、AccessKey Secret。
执行同步命令备份目录,例如备份
/var/www到OSS:ossutilsync/var/wwwoss://ecs-backup-bucket/web-backup/
如需定时备份,可添加crontab任务:
crontab-e
03***/usr/local/bin/ossutilsync/var/wwwoss://ecs-backup-bucket/web-backup/>>/var/log/oss-backup.log2>&1
在OSS控制台设置生命周期规则,将历史备份自动转为低频访问或归档存储,降低存储成本。
OSS备份优点:
可长期保存,不受云盘快照配额限制。
支持跨地域复制,实现异地容灾。
可通过URL或签名访问,便于恢复单个文件。
支持版本控制,误删文件后可恢复到历史版本。
数据库备份
如果ECS上运行自建数据库,需要对数据库进行逻辑或物理备份。
MySQL备份
使用mysqldump工具导出数据库:
mysqldump-uroot-p--all-databases--single-transaction--quick>/backup/mysql-all-$(date+%F).sql
将备份文件上传OSS:
ossutilcp/backup/mysql-all-$(date+%F).sqloss://ecs-backup-bucket/mysql/
设置每日备份脚本并加入crontab:
#!/bin/bash BACKUP_DIR=/backup DATE=$(date+%F) mkdir-p$BACKUP_DIR mysqldump-uroot-p'YourPassword'--all-databases--single-transaction--quick>$BACKUP_DIR/mysql-all-$DATE.sql ossutilcp$BACKUP_DIR/mysql-all-$DATE.sqloss://ecs-backup-bucket/mysql/ find$BACKUP_DIR-name"mysql-all-*.sql"-mtime+7-delete
保存脚本为 /usr/local/bin/mysql_backup.sh,并添加执行权限:
chmod+x/usr/local/bin/mysql_backup.sh
添加crontab:
02***/usr/local/bin/mysql_backup.sh
PostgreSQL备份
使用pg_dump:
pg_dump-Upostgres-hlocalhost-Fc-f/backup/postgres-$(date+%F).dumpdbname
同样上传OSS保存,并设置定时任务。
MongoDB备份
使用mongodump:
mongodump--out/backup/mongodb-$(date+%F) tar-czf/backup/mongodb-$(date+%F).tar.gz/backup/mongodb-$(date+%F) ossutilcp/backup/mongodb-$(date+%F).tar.gzoss://ecs-backup-bucket/mongodb/
恢复验证
备份的核心价值在于可恢复,定期验证备份文件可用,避免“备份成功但无法恢复”。
快照恢复:
在快照列表中找到目标快照。
单击“回滚云盘”,可将云盘恢复到快照时刻。
建议在测试实例上挂载由快照创建的云盘进行验证,不要直接回滚生产云盘。
验证数据完整性和应用启动是否正常。
镜像恢复:
在“镜像”页面,选择自定义镜像。
单击“创建实例”,基于镜像新建一台ECS。
启动后检查应用和数据库是否正常。
测试完成后释放测试实例,避免产生费用。
OSS文件恢复:
ossutilcposs://ecs-backup-bucket/web-backup//restore/
数据库恢复测试:
mysql-uroot-p</backup/mysql-all-20250101.sql
异地容灾与生命周期管理
为防止地域级故障,重要数据应开启跨地域复制。
快照跨地域复制:在快照列表选择目标快照,单击“复制快照”,选择目标地域。
OSS跨区域复制:在OSS控制台设置跨区域复制规则,将源Bucket数据自动复制到目标Bucket。
制定生命周期策略:快照保留7天、镜像保留30天、OSS归档保留90天。
使用云监控设置告警:当快照创建失败、OSS上传任务失败时通过短信或邮件通知。
每季度执行一次完整恢复演练,记录恢复时间、失败原因和改进措施。
根据业务变化调整备份频率和保留时间,确保备份策略与恢复目标一致。