有關(guān)安裝文檔請(qǐng)查看 https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-install.html 。

我這里直接使用自帶的源安裝。

apt  install awscli

1.4、配置授權(quán)

登陸到我們的 Ubuntu 系統(tǒng),輸入 aws configure,然后按 Enter 鍵。在系統(tǒng)提示時(shí)輸入以下信息:

root@ip-172-31-47-132:~# aws configure
AWS Access Key ID [None]: AKIA5NAGHF6NVEPKATFQ
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-1
Default output format [None]: json
root@ip-172-31-47-132:~# 

二、IAM 角色授權(quán)方式(安全)

上面一種方式相對(duì)來說已經(jīng)夠安全了,但是秘鑰信息都以明文的方式存儲(chǔ)在了服務(wù)器上面,也變成了一種不安全,那我們就配置一下更加安全的角色方式,角色是賦予信任的實(shí)體授予權(quán)限的安全方法。

2.1、創(chuàng)建一個(gè) EC2 訪問 S3 的角色

選擇受信任的實(shí)體,我們這里選擇 EC2。

賦予訪問 S3 權(quán)限。

創(chuàng)建角色。

2.2、為 EC2 添加 訪問 S3 的角色

找到 EC2 實(shí)例界面。

選擇我們剛剛創(chuàng)建的角色。

2.3、測(cè)試

這里的前提條件是沒有配置秘鑰授權(quán)的方式。

aws s3 ls s3://myweb-backup-eu-west-1/

三、使用 AWS CLI 和 S3 備份數(shù)據(jù)
3.1、創(chuàng)建存儲(chǔ)桶

要新建一個(gè)名為myweb-backup的存儲(chǔ)桶,請(qǐng)輸入:

root@ip-172-31-47-132:~# aws s3 mb s3://myweb-backup
make_bucket: myweb-backup

3.2、上傳文件

要將/etc/passwd文件上傳到 S3 存儲(chǔ)桶 myweb-backup,您需要使用以下命令:

root@ip-172-31-47-132:~# aws s3 cp /etc/passwd s3://myweb-backup/
upload: ../../etc/passwd to s3://myweb-backup/passwd  

3.3、下載文件

要從 S3 中將 passwd 下載至本地目錄,我們需要顛倒命令的次序,如下所示:

root@ip-172-31-47-132:~# aws s3 cp s3://myweb-backup/passwd .
download: s3://myweb-backup/passwd to ./passwd   

3.4、刪除文件

要將 passwd 從您的 myweb-backup 存儲(chǔ)桶中刪除,請(qǐng)使用以下命令:

root@ip-172-31-47-132:~# aws s3 rm s3://myweb-backup/passwd 
delete: s3://myweb-backup/passwd

四、實(shí)際案例(使用秘鑰這種方法)

比如我每天把 /etc 目前下面的所有內(nèi)容打包上傳備份。

#!/bin/bash
export HOME=/home/ubuntu

cd /tmp/;
tar -zcPf etc$(date  %Y%m%d).tar.gz /etc;
aws s3 cp etc$(date  %Y%m%d).tar.gz s3://myweb-backup/;
rm -f etc$(date  %Y%m%d).tar.gz;

然后添加一個(gè)定時(shí)任務(wù)即可。

我這里遇到一個(gè)問題,就是放在定時(shí)任務(wù)之后一直無法上傳成功,不清楚使用角色授權(quán)的方式會(huì)不會(huì)出現(xiàn)這種情況,我覺得應(yīng)該不會(huì),大家可以自己去試試,通過打印日志查看,發(fā)現(xiàn)unable to locate credentials這個(gè)問題,找了半天,加了一個(gè)環(huán)境變量export HOME=/home/ubuntu解決了,真是費(fèi)盡周折,如果再遇到手動(dòng)執(zhí)行腳本正常,而定時(shí)任務(wù)不正常,我們可以用下面的辦法對(duì)比一下兩種方式的環(huán)境變量的區(qū)別。

# 定時(shí)任務(wù)環(huán)境變量輸出
set | sort > /tmp/env.cron
# 手動(dòng)執(zhí)行腳本輸出
set | sort > /tmp/env.interactive
# 然后進(jìn)行比較
diff /tmp/env.cron /tmp/env.interactive

為了節(jié)省空間,我們可以添加生命周期規(guī)則。

參考文檔: https://aws.amazon.com/cn/getting-started/tutorials/backup-to-s3-cli/

歡迎大家掃碼關(guān)注,獲取更多信息

更多關(guān)于云服務(wù)器域名注冊(cè),虛擬主機(jī)的問題,請(qǐng)?jiān)L問三五互聯(lián)官網(wǎng):m.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:三五互聯(lián)知識(shí)庫(kù) » 使用 bash 腳本把 AWS EC2 數(shù)據(jù)備份到 S3

登錄

找回密碼

注冊(cè)