云主机

质量为本、客户为根、勇于拼搏、务实创新

< 返回云主机列表

如何使用阿里云国际对象存储服务自动备份

发布时间:2022-12-22

异地备份是一项重要的安全措施。它们允许在产生硬件故障、意外删除或任何其他灾害性事件时还原数据。自动备份可提高备份进程的可靠性,并确保定期备份最近的数据。

有关阿里云国际对象存储服务自动备份的操作,今天

桂哥网络详细说明下操作进程

我们将使用

阿里云对象存储服务 (OSS) 作为异地备份存储解决方案。数据将由一个简单的bash脚本备份,该脚本由cronjob定期履行。Minio 客户端将用于将备份传输到 OSS。

阿里云 OSS 是一个适合的备份存储解决方案。很少访问的对象(如备份)可以可靠、便宜且安全地存储。前 5 GB 的存储空间可以完全不要钱使用。

先决条件

在开始之前,请确保您有

阿里云国际站账号

立即注册

便可取得300美元的不要钱积分。创建弹性云主机或使用SSH连接现有服务器进行操作。您所需要的只是一个基于Linux的系统。

步骤 0 – 添加新用户(可选)

最好使用具有有限系统访问权限的帐户来履行备份脚本。这样做可以提高安全性,由于如果履行备份脚本的用户遭到要挟,攻击者的可能性有限。运行以下命令以添加具着名称备份的新用户。

sudo adduser backup

尽量限制新用户的系统权限,而不限制其上传备份到

OSS

的能力。

步骤 1 – 创建 OSS 存储桶

接下来,我们将为备份创建一个

OSS

存储桶。存储桶是对象集合的命名空间。每一个对象都由存储桶名称和对象键唯一标识。

首先,导航到阿里云控制台。从主导航栏中打开“产品”下拉列表,然后单击“存储和 CDN”部份中的对象存储服务链接。如果您之前未使用过

OSS

,您将被要求接受

OSS

服务条款。单击创建存储桶,为备份对象创建存储桶。

输入存储桶的名称,选择地域,选择存储类并设置访问控制限制。我们将使用存储桶名称backup-demoEU Central 1 区域。

三种可用的存储类提供相同的数据可靠性和服务可用性保证。

它们主要在数据访问功能和定价方面有所不同。与标准存储相比,不频繁访问存储提供实时访问和更低的存储费用。任何对象最少需要支付 30 天的存储费用,即便对象在创建后不久就被删除。对象的最小计费大小为 128 KB。归档存储提供的存储费用乃至更低,但数据一定要解冻才能变得可读,这需要一分钟。最小计费存储延续时间为 60 天,对象的最小计费大小为 128 KB。

斟酌到不同存储类的属性,不频繁访问存储将是大多数备份用例的最好类。与标准存储相比,它结合了实时访问和更低的存储费用。可以

在此处

找到有关存储类的详细信息。

对备份,ACL 应为专用,由于备份应仅由经过身份验证的系统写入和读取。请注意,创建存储桶后,没法更改所选的存储类和区域。单击“肯定”以创建存储桶。

步骤 2 – 创建访问密钥

接下来,我们将创建访问密钥,备份脚本将使用该密钥通过

OSS

进行身份验证。单击

OSS

仪表盘页面的访问密钥按钮。

系统将询问您是否是要使用子用户的访问密钥。子用户的访问密钥更安全,由于它们的权限可以被锁定。单击“子用户访问密钥入门”,将其重定向到“资源访问管理 (RAM)”仪表板。如果您之前没有使用过RAM,您将被要求接受RAM服务条款。

接下来,单击边栏中的“用户”。以下屏幕列出了每一个子用户。通过单击“创建用户”按钮创建新的子用户

接下来,输入新用户的数据。我们将选择用户名backup-demo-user。所有其他字段都是可选的“标记自动为此用户生成访问密钥”复选框。按“肯定”创建用户。

系统将提示您将用户的访问密钥保存到您的计算机。以后没法检索访问密钥!确保其安全。

接下来,我们将配置与访问密钥关联的权限。我们将选择

阿里云OSSFullAccess授权策略。因此,使用此访问密钥进行身份验证的任何人都可以管理

OSS

。请记住,可以编辑策略以进一步下降对单个存储桶或存储桶组的访问权限。

步骤 3 – 设置 Minio 客户端

Minio Client为UNIX命令(如ls,cat和cp)提供了一种现代替换方案。我们将使用它,由于它不但支持文件系统,还支持与S3兼容的云存储,如阿里云

OSS

如果您愿意,可使用 Minio 客户端 Docker 映像。有关说明,请参阅

DockerHub 上的 minio/mc

使用 wget 下载 Minio Client 可履行文件。如果您不使用 linux-amd64,请确保从

https://dl.minio.io/client/mc/release/

当选择正确的下载链接。

cd ~ wget https://dl.minio.io/client/mc/release/linux-amd64/mc

接下来,使用 chmod 命令设置可履行位以允许履行该文件。

chmod +x mc

将可履行文件移动到 PATH 环境变量中列出的目录。这样做将允许从任何目录运行可履行文件,而无需提供其完全路径。/usr/bin 目录可用于许多常见的 Linux 发行版(如 Ubuntu)的用处。可履行文件将可供系统上的所有用户使用。

sudo mv ./mc /usr/bin/mc

运行mc版本以检查是否是可以运行Minio客户端。

步骤 4 – 配置 Minio 客户端以用于阿里云 OSS

接下来,我们将配置 Minio 客户端以用于阿里云

OSS

。在替换占位符后,使用步骤 1 和 2 中的相应值运行以下命令。可以在 OSS 存储桶控制面板上找到。如果不肯定要选择哪一个终结点,请使用Internet 访问终结点。如果缺少所有必须的 Minio 客户端配置文件,则会自动创建这些文件。

mc config host add oss

列出在步骤 1 中创建的存储桶中的所有对象,以检查配置是否是正常工作。

mc ls oss/backup-demo

您不应看到任何输出,由于存储桶不包括任何对象。如果显示毛病消息,请检查 ~/.mc/config.json 上的配置文件。

步骤 5 – 创建备份脚本

接下来,我们将创建一个脚本,将目录中的所有文件备份到

OSS

。备份数据可以是数据库转储或任何其他数据。实际上,备份数据将由另外一个脚本定期生成。我们将为此演示手动放置一些文本文件。如果要将包括多个文件的目录备份为一个对象,请斟酌使用 tar 将目录打包为单个文件。

使用您选择的文本编辑器在主目录中创建名为backup.sh的文件。将以下脚本复制到文件中。

#!/usr/bin/env bash SOURCE=$1 DESTINATION=$2 mc cp --json --recursive $SOURCE $DESTINATION

第一行称为shebang,并确保脚本将使用bash履行。以后,我们将第一个参数分配给名为 SOURCE 的变量,将第二个参数分配给名为 DESTINATION 的变量。第二行使用 Minio Client 以递归方式将所有文件和目录从复制到目标。SOURCE 和 DESTINATION 都可以援用文件系统或云存储。文件名将用作对象键。–-json 选项允许将结构化输出为 JSON。

OSS

存储空间中已有的任何文件都将被跳过。因此,应确保不要重复使用文件名。确保所有文件名都唯一的最简单方法是在文件名中包括时间戳。

步骤 6 – 使用 Crontab 安排常规脚本履行

接下来,我们将使用 cronjob 定期履行备份脚本。首先,使用 chmod 在 backup.sh 脚本上设置可履行位。这将允许文件履行。

chmod +x ~/backup.sh

接下来运行 crontab -e 以配置 cronjob。如果这是您第一次使用 crontab,系统将要求您选择一个编辑器:

no crontab for nick - using an empty one

Select an editor. To change later, run 'select-editor'.

1. /bin/ed

2. /bin/nano <---- easiest

3. /usr/bin/vim.basic

4. /usr/bin/vim.tiny

Choose 1⑷ [2]:

按回车键选择 nano(默许)。将以下行添加到文件末尾。

* * * * * ~/backup.sh ~/backup-demo/* oss/backup-demo

SOURCE参数指向 ~/backup-demo 目录中的文件,而DESTINATION参数指向我们之前创建的

OSS

存储桶。备份脚本将每分钟履行一次。保存文件。

让我们检查一切是否是按预期工作。在备份目录中创建备份目录和文件:

mkdir ~/backup-demo echo test1 > ~/backup-demo/test1.txt

该文件应在一分钟后显示在您的

OSS

存储桶中。使用 mc ls oss/backup-demo 检查存储桶,或在阿里云控制台中打开存储桶控制面板。

如果文件未出现在

OSS

存储桶中,请检查 crontab 输出。默许情况下,cronjobs 会记录到/var/log/syslog。

其他注意事项

● 如果您需要备份大量数据,紧缩备份是成心义的。

● 您应确保监视任何自动备份。这将使您能够在出现任何问题时修复它们,并确保定期备份您的数据。

● 没法还原的备份是无用的。您应通过定期测试来确保备份和备份进程按预期工作。

结论

在这篇技术分享文章中,我们探讨了如何将备份自动上传到

OSS

。我们设置了一个新的

OSS

存储桶,创建了访问密钥,设置并配置了 Minio Client 以将文件传输到

OSS

,创建了一个备份脚本,并使用 cronjob 计划了备份脚本的履行。如果您有任何疑问,可以联系桂哥网络的24小时在线客服寻求帮助

目前阿里云代充可以斟酌一下桂哥网络,

桂哥网络与阿里云国际站AWS提供折扣渠道,

如果需要充值的话也能够联系客服还有专属折扣优惠,有需求的用户欢迎联系24小时在线客服

TikTok千粉号购买平台:https://tiktokusername.com/