您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎樣輕松將服務器文件備份至OSS,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
教程的主角是 alicloud-duplicity,它是在 duplicity 的基礎上支持OSS存儲的開源備份工具,alicloud-duplicity 支持 duplicity 的所有命令和參數。duplicity 是一款開源的備份工具,使用librsync 支持增量備份,節約本地存儲空間,同時使用GnuPG加密數據。duplicity 能將數據輕松的備份到本地、共享存儲和云存儲等。
使用 alicloud-duplicity 可以實現全量備份和增量備份并對其進行加密并且上傳至 OSS。
需要使用到的產品:
任意(服務器/ECS/輕量應用服務器(安裝任意 Linux 發行版鏡像)
2.阿里云 OSS 產品
推薦操作系統: Ubuntu、Debian
一、安裝系統依賴
apt update && apt install librsync-dev python-pip python-dev git -y
二、安裝py依賴
pip install oss2 fasteners configparser setuptools
三、安裝程序
mkdir -p /root/src/ cd /root/src/ git clone https://github.com/aliyun/alicloud-duplicity.git cd alicloud-duplicity python setup.py install
四、驗證
也就是查看一下運行相關命令能否出現版本號:
alicloud-duplicity -V
一、 首先我們要開通 OSS
二、 然后創建一個和阿里云 ECS 同地域的 OSS Bucket
,
cdn.com/00d54734a365b3dca3681e0c013d28b68ecd483d.png">
三、 儲存類型選擇 低頻訪問
,讀寫權限為 私有
。因為備份并不會頻繁訪問,所以可以選擇成本更低 低頻訪問
,我們的別分肯定也不要別人訪問,自然是 私有
四、 然后進入 訪問控制(RAM) 創建一個專門為 OSS 準備的用戶,一定要記錄好 AccessKeyID 和 AccessKeySecret
五、 點擊 策略管理
,然后點擊 新建授權策略
六、 直接點擊 空白模板
,然后輸入 授權策略名稱
后,輸入策略內容如下面:
{ "Statement": [ { "Action": "oss:*", "Effect": "Allow", "Resource": [ "acs:oss:*:*:mf8-oss-back", "acs:oss:*:*:mf8-oss-back/*" ] } ], "Version": "1" }
由于我的 OSS Bucket
是 mf8-oss-back
,所以 acs:oss:*:*:mf8-oss-back",
和 "acs:oss:*:*:mf8-oss-back/*"
后面是 mf8-oss-back
你可以改成自己的 OSS Bucket
名稱
然后點擊 新建授權策略
保存
七、 為該用戶進行授權
八、 選擇我我們剛才創建的授權策略就行
創建配置文件
運行:
cat >> ~/.alicloud.cfg << EOF [oss] endpoint = OSS的訪問 EndPoint access_key_id = 剛才要保存的 AccessKeyID access_key_secret = 剛才要保存的 AccessKeySecret EOF
OSS的訪問 EndPoint,可以在 Bucket 的詳情頁中看到:
如果是 VPC 就用 VPC 的內網,經典就用經典的內網,內網速度更快同時不用流量費用。
例如:
cat >> ~/.alicloud.cfg << EOF [oss] endpoint = http://oss-cn-shanghai-internal.aliyuncs.com access_key_id = LTZIWWWMF8BIZxJI access_key_secret = 9rm1Q5nlpyz155WWWMF8BIZDAW1DSn EOF
運行:
export ALICLOUD_OSS_ENDPOINT=OSS的訪問 EndPoint export ALICLOUD_ACCESS_KEY_ID=剛才要保存的 AccessKeyID ALICLOUD_ACCESS_KEY_SECRET=剛才要保存的 AccessKeySecret
終于可以開始開心的使用了!
全量備份
alicloud-duplicity full /etc oss://bucket-name/keyfolder/
增量備份
alicloud-duplicity incr /etc oss://bucket-name/keyfolder/
自動選擇備份類型
alicloud-duplicity /etc oss://bucket-name/keyfolder/ alicloud-duplicity --full-if-older-than 7D /etc oss://bucket-name/keyfolder/ # 對重要數據,應經常做全量備份,用--full-if-older-than指定全量備份時間間隔。
定時備份
利用 `crontab -e` 設定每天凌晨3點自定執行腳本timedbackup.sh,寫入 `0 3 _/1_ * timedbackup.sh`。腳本timedbackup.sh的內容如下:
alicloud-duplicity --full-if-older-than 7D /etc oss://bucket-name/keyfolder/
備份多個目錄
alicloud-duplicity --include /etc --include /home/aliyun --exclude '**' / oss://bucket-name/keyfolder/
恢復文件夾
alicloud-duplicity restore oss://bucket-name/keyfolder/ /home/tmp/
恢復特定文件
alicloud-duplicity --file-to-restore file1 oss://bucket-name/keyfolder/ /home/tmp/
列出備份目錄列表
alicloud-duplicity list-current-files oss://bucket-name/keyfolder/
查看備份狀態
alicloud-duplicity collection-status oss://bucket-name/keyfolder/
例如,我要備份 /root/images/
內的所有圖片到 OSS,那么就運行:
alicloud-duplicity full /root/images/ oss://mf8-oss-back/images/*
這里的 /root/images/
是本地要備份的目錄,oss://mf8-oss-back
中的 mf8-oss-back
是 OSS Bucket 名稱,/images/
就是 OSS 中的目錄了。
然后會出來一段:
Local and Remote metadata are synchronized, no sync needed. Last full backup date: none GnuPG passphrase: Retype passphrase to confirm:
就是要你輸入加密這個備份的密碼,因為即便備份到自己的 OSS 上依舊是應該要一個加密來保障安全的,萬一手機丟了阿里云賬號被登錄了呢。
然后就會反饋備份內容了:
--------------[ Backup Statistics ]-------------- StartTime 1510751741.34 (Wed Nov 15 21:15:41 2017) EndTime 1510751741.35 (Wed Nov 15 21:15:41 2017) ElapsedTime 0.01 (0.01 seconds) SourceFiles 12 SourceFileSize 104550 (102 KB) NewFiles 12 NewFileSize 104550 (102 KB) DeletedFiles 0 ChangedFiles 0 ChangedFileSize 0 (0 bytes) ChangedDeltaSize 0 (0 bytes) DeltaEntries 12 RawDeltaSize 100454 (98.1 KB) TotalDestinationSizeChange 61719 (60.3 KB) Errors 0 -------------------------------------------------
我們在到 OSS 的文件管理處就可以看到備份文件了。三個就是加密后的文件。
然后我們就再恢復一下看看是否備份成功:
alicloud-duplicity restore oss://mf8-oss-back/images/ /root/restore/images/
就可以 /root/restore/images/
中看到恢復的文件了。
看完上述內容,你們對怎樣輕松將服務器文件備份至OSS有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。