为了避免因误删除、误修改、误覆盖等操作引起的数据丢失或受损,您可以定期备份本地盘的文件,提高数据安全性。您可以参考本文通过以下三种常用方式备份:通过云备份定期备份、备份至OSS、备份至云盘或NAS。本文不适用于备份自建数据库。
本文仅适用于备份本地盘的文件,如果本地盘存储了数据库,且您需要备份该数据库,可以参见备份ECS自建数据库。
方式一:通过云备份定期备份
适用场景 | 限制 | 特点 | 费用 |
云备份支持对ECS上的文件或文件目录进行定期备份(例如备份本地盘、自建数据库Oracle/MySQL/SQL Server),并在需要时进行数据恢复,适用于需要高度可靠备份方案的场景。更多关于云备份的信息,请参见为什么要选择云备份。 |
|
| 收取文件备份软件使用费和存储容量费等。计费详情,请参见ECS文件备份费用。 |
操作步骤
准备工作。
确保本地盘所在地域需支持云备份服务。支持云备份的地域,请参见开服地域。
确保本地盘所属实例已经安装云助手。
重要如果实例是2017年12月01日之后购买的,则默认已预装云助手客户端,无需再安装;否则需要您自行安装云助手Agent。
登录云备份Cloud Backup控制台,并选择地域为本地盘所在地域。
左侧导航栏选择
,在ECS实例列表页签找到本地盘所属实例,在操作栏单击备份。进入创建备份计划页面,按照界面提示配置,单击确定。
请注意以下配置(其他配置按需设置,说明请参考创建备份计划周期性备份云服务器ECS文件):
备份目录规则:选择指定目录。
备份文件路径:填写需要备份的本地盘数据的绝对路径,支持多个路径。具体规则,请参考界面提示。
备份策略:用于指定备份时间、周期、备份保留时间等。若未创建备份策略,请先新建备份策略。
当达到备份执行时间时,系统就会启动执行备份任务。当备份任务状态为成功时,表示当天备份完成。您可以在备份历史中看到备份点。
相关操作
方式二:定期备份至OSS
通过ossutil
和crontab
命令,并编写自动化脚本,定期备份本地盘数据至OSS。
适用场景 | 特点 | 费用 |
适合大规模数据备份,尤其是需要低成本、高可靠性的存储方案。更多OSS的特性,请参见OSS产品优势。 | 需要编写脚本 | 收取OSS存储费。计费详情,请参见存储费用。 |
本方案是一个最简单的示例和基本思路,还存在一些局限性,需要您结合自身业务去做一些完善和补充。
例如,该方案每次都是全量备份,随着时间推移会占用越来越多的存储空间;直接将整个目录打包成单个ZIP文件可能影响备份速度和存储效率。在真实的业务场景中,需要结合自身业务做一些额外的策略,例如:
增量或差异备份:只备份自上次备份以来发生改变的数据,更高效地利用存储资源并加快备份速度。
分块备份:将数据集分成多个小块或根据目录结构、文件类型等逻辑进行分组备份。
操作步骤
准备工作。
已经开通OSS服务,并创建了OSS bucket。具体操作,请参见创建存储空间。
已获取OSS bucket名称、OSS的endpoint以及待备份本地盘数据的存储路径。
登录ECS实例。
安装OSSutil工具并配置访问凭证。
重要下载OSSutil工具需要本地盘所属的ECS实例已开通公网。如何为ECS实例开通公网?
安装OSSutil工具。
sudo yum install unzip -y sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
配置OSSutil的访问凭证。
在用户目录下创建
.ossutilconfig
文件并配置凭证。sudo -i # 切换到root用户(如果当前用户没有sudo权限,则需要通过其他方式登录或提权) cat <<EOF > /root/.ossutilconfig [Credentials] language=EN endpoint=YourEndpoint accessKeyID=YourAccessKeyId accessKeySecret=YourAccessKeySecret EOF
将
YourEndpoint
、YourAccessKeyId
和YourAccessKeySecret
替换为您的实际的信息。
实现定时备份。
安装压缩工具(本文以安装
zip
为例)。sudo yum install zip
编写备份脚本(假设脚本为backup_to_oss.sh)。
给脚本执行权限并测试。
sudo chmod +x /home/backup_to_oss.sh ./backup_to_oss.sh
确保脚本运行无误,且数据能成功上传至OSS。
执行
crontab -e
打开crontab编辑器,添加一行来定时执行您的备份脚本。例如每天凌晨2点执行:0 2 * * * /home/backup_to_oss.sh
/home/backup_to_oss.sh
:替换为脚本实际的存放路径。更多配置(按需设置)。
下载已备份数据
您可以通过OSS控制台、命令行工具ossutil等,从OSS下载已经备份的数据。具体操作,请参见简单下载。
方式三:定期备份至同实例的云盘或NAS
将本地盘数据通过ZIP包的方式定期备份至云盘或文件存储NAS的指定路径下。
适用场景 | 特点 | 费用 |
| 需要编写脚本 |
本方案是一个最简单的示例和基本思路,还存在一些局限性,需要您结合自身业务去做一些完善和补充。
例如,该方案每次都是全量备份,随着时间推移会占用越来越多的存储空间;直接将整个目录打包成单个ZIP文件可能影响备份速度和存储效率。在真实的业务场景中,需要结合自身业务做一些额外的策略,例如:
增量或差异备份:只备份自上次备份以来发生改变的数据,更高效地利用存储资源并加快备份速度。
分块备份:将数据集分成多个小块或根据目录结构、文件类型等逻辑进行分组备份。
操作步骤
准备工作。
为本地盘所属实例已新建一个云盘(数据盘)并完成挂载和初始化;或已挂载文件系统NAS。
具体操作,请参见快速创建并使用云盘或创建文件系统NAS并挂载至ECS。
获取云盘或文件系统NAS的挂载路径、待备份本地盘数据的存储路径。
设置定时备份。
登录ECS实例。
安装ZIP工具(下文以Alibaba Cloud Linux为例)。
sudo yum install zip
编写备份脚本(假设路径为/home/backup_script.sh)。
执行以下命令编写脚本,并保存。
vim /home/backup_script.sh
保存脚本,并给予执行权限。
sudo chmod +x /home/backup_script.sh
/home/backup_script.sh
:替换为脚本实际的存放路径。执行
crontab -e
打开crontab编辑器,添加一行来定时执行您的备份脚本。例如每天凌晨2点执行:0 2 * * * /home/backup_script.sh
/home/backup_script.sh
:替换为脚本实际的存放路径。
下载已备份数据
数据备份在云盘:具体操作,可参见上传或下载文件。
数据备份在NAS:具体操作,可参见将NAS数据迁移至本地。
相关操作
将本地盘数据迁移到其他ECS实例
您可以将单台或多台本地盘实例整体数据一键迁移到其他ECS实例,存储至该实例的云盘,完整备份本地盘实例的数据。具体操作,请参见源服务器迁移至目标实例。
本地盘发生损坏后的处理
如果本地盘发生损坏,阿里云会触发系统事件,并及时给您发送通知、应对措施和事件周期等信息。您可以根据场景进行运维。更多信息,请参见本地盘实例运维场景和系统事件。