在 Scaleway Object Storage 上備份數據

在 Scaleway Object Storage 上備份數據 #

爲了面對手滑、手抖以及各類手部或腦部問題,我們需要對數據進行備份,這裏可以考慮使用 Scaleway 的 Object Storage 進行備份,選擇 Scaleway (而不是 Amazon S3 或者 Google Cloud Storage)的原因是因爲 Scaleway 是目前看到過的一個比較廉價的解決方案,目前的價格是 5 EUR/mo 可以獲得 500G 的存儲空間和 500G 的對外流量。

什麼是對象存儲(Object Storage) #

Object storage, also known as object-based storage, is a strategy that manages and manipulates data storage as distinct units, called objects. These objects are kept in a single storehouse and are not ingrained in files inside other folders. Instead, object storage combines the pieces of data that make up a file, adds all its relevant metadata to that file, and attaches a custom identifier.

Object storage adds comprehensive metadata to the file, eliminating the tiered file structure used in file storage, and places everything into a flat address space, called a storage pool. This metadata is key to the success of object storage in that it provides deep analysis of the use and function of data in the storage pool.

如何使用 #

註冊賬戶後創建一個 Object Storage 桶,然後在 Account 的地方獲得到自己的 API Token 就可以了,由於這個桶是 S3 兼容的,這裏我選擇了 awscli ,在自己的服務器上安裝 awscli`awscli-plugin-endpoint`之後就可以開始放飛自我了。

創建兩個文件,一個是 ~/.aws/config 文件內容如下:

\[plugins\]
endpoint = awscli\_plugin\_endpoint

\[default\]
region = nl-ams
s3 =
  endpoint\_url = https://s3.nl-ams.scw.cloud
  max\_concurrent\_requests = 100
  max\_queue\_size = 1000
s3api =
  endpoint\_url = https://s3.nl-ams.scw.cloud

另一個是 ~/.aws/credential,內容如下:

\[default\]
aws\_access\_key\_id=<ACCESS\_KEY,這個在 Account 頁面創建 Token 即可>
aws\_secret\_access\_key=<SECRET\_KEY,同上>

然後就可以開始操作啦~

基本操作 #

假設你的桶的名稱叫做 nova-bucket

放一個文件上去:

aws s3 cp local-file.zip s3://nova-bucket

如果需要同步(也就是上傳啦)一個文件夾的話,一般可以這樣:

aws s3 sync /path/to/directory s3://nova-bucket

當然,我們也可以像用網盤一樣使用它(創建分級目錄):

aws s3 sync /path/to/directory s3://nova-bucket/some-path/

列出某個目錄下的文件:

aws s3 ls s3://nova-bucket

刪除一個文件夾下所有的文件:

aws s3 rm s3://nova-bucket/some-folder/another-folder --recursive