异地备份是一项重要的安全措施。它们允许在产生硬件故障、意外删除或任何其他灾害性事件时还原数据。自动备份可提高备份进程的可靠性,并确保定期备份最近的数据。
有关阿里云国际对象存储服务自动备份的操作,今天 桂哥网络
我们将使用 阿里云对象存储服务
阿里云 OSS 是一个适合的备份存储解决方案。很少访问的对象(如备份)可以可靠、便宜且安全地存储。前 5 GB 的存储空间可以完全不要钱使用。
先决条件
在开始之前,请确保您有 阿里云国际站账号
。 立即注册
便可取得300美元的不要钱积分。创建弹性云主机或使用SSH连接现有服务器进行操作。您所需要的只是一个基于Linux的系统。
步骤 0 – 添加新用户(可选)
最好使用具有有限系统访问权限的帐户来履行备份脚本。这样做可以提高安全性,由于如果履行备份脚本的用户遭到要挟,攻击者的可能性有限。运行以下命令以添加具着名称备份的新用户。
sudo adduser backup
尽量限制新用户的系统权限,而不限制其上传备份到
OSS
的能力。
步骤 1 – 创建 OSS 存储桶
接下来,我们将为备份创建一个
OSS
存储桶。存储桶是对象集合的命名空间。每一个对象都由存储桶名称和对象键唯一标识。
首先,导航到阿里云控制台。从主导航栏中打开“产品”下拉列表,然后单击“存储和 CDN”部份中的对象存储服务链接。如果您之前未使用过
OSS
,您将被要求接受
OSS
服务条款。单击创建存储桶,为备份对象创建存储桶。
输入存储桶的名称,选择地域,选择存储类并设置访问控制限制。我们将使用存储桶名称backup-demo和EU 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/
TOP