用Linux中的命令行訪問AmazonS3云存儲,帶來的好處不只安全

責(zé)任編輯:editor005

作者:布加迪編譯

2015-01-13 13:41:35

摘自:51CTO

亞馬遜簡單存儲服務(wù)(S3)是亞馬遜網(wǎng)絡(luò)服務(wù)公司(AWS)提供的云存儲服務(wù)中一個重要的組成部分,也是用戶使用最為廣泛的云存儲服務(wù)。

【編者的話】

亞馬遜簡單存儲服務(wù)(S3)是亞馬遜網(wǎng)絡(luò)服務(wù)公司(AWS)提供的云存儲服務(wù)中一個重要的組成部分,也是用戶使用最為廣泛的云存儲服務(wù)。使用AmazonS3的好處很多,其中最大的三個好處就是安全、可靠、價格低廉。就算您是一個 SAN 專家,喜歡維護(hù)硬件資產(chǎn)來存儲數(shù)據(jù)內(nèi)容,它也可能比您做的更好。在本教程中將介紹如何從Linux中的命令行來訪問亞馬遜S3云存儲。

以下為作者原文。

亞馬遜簡單存儲服務(wù)(S3)是亞馬遜網(wǎng)絡(luò)服務(wù)公司(AWS)提供的一項云存儲服務(wù)。亞馬遜S3發(fā)布了一系列Web服務(wù)接口,許多第三方商業(yè)服務(wù)或客戶機軟件都是基于這些接口開發(fā)而成的。

我在本教程中將介紹如何從Linux中的命令行來訪問亞馬遜S3云存儲。

最流行的亞馬遜S3命令行客戶軟件之一是用python編寫的s3cmd(http://s3tools.org/s3cmd)。作為一種簡單的AWS S3命令行工具,你想運行諸如每日備份之類的腳本化計劃任務(wù)時,使用s3cmd再理想不過了。

Linux上安裝s3cmd

如果想在Ubuntu或Debian上安裝s3cm,運行這個命令:

$ sudo apt-get install s3cmd

如果想在Fedora上安裝s3cmd,運行這個命令:

$ sudo yum install s3cmd

如果想在CentOS或RHEL上安裝s3cm,先從官方網(wǎng)站(http://s3tools.org/repo/RHEL_6/)安裝.rpm程序包,然后手動安裝。針對64位CentOS或RHEL 6,運行這個命令:

$ sudo rpm -ivh s3cmd-1.0.0-4.1.x86_64.rpm

配置s3cmd

你第一次運行s3cmd時,需要運行下面這個命令,對它進(jìn)行配置:

$ s3cmd --configure

它會向你提出一系列問題:

AWS S3的訪問密鑰和安全密鑰用于與AWS S3之間來回傳輸?shù)募用軘?shù)據(jù)的加密密碼用于加密數(shù)據(jù)的GPG程序的路徑(比如/usr/bin/gpg)是否使用HTTPS協(xié)議如果使用HTTPS協(xié)議,HTTP代理的名稱和端口

然后配置內(nèi)容將以明文格式保存在~/.s3cfg中。

s3cmd的基本用法

想列出你的AWS S3帳戶中所有的現(xiàn)有存儲桶(bucket),運行這個命令:

$ s3cmd ls 2011-05-28 22:30 s3://mybucket1 2011-05-29 00:14 s3://mybucket2

想創(chuàng)建一個新的存儲桶,運行這個命令:

$ s3cmd mb s3://dev99 Bucket 's3://dev99/' created

想把文件上傳到一個現(xiàn)有的存儲桶,運行這個命令:

$ s3cmd put 1.png 2.png 3.png s3://dev99 1.png -> s3://dev99/1.png [1 of 3] 26261 of 26261 100% in 5s 4.33 kB/s done 2.png -> s3://dev99/2.png [2 of 3] 201430 of 201430 100% in 2s 98.05 kB/s done 3.png -> s3://dev99/3.png [3 of 3] 46630 of 46630 100% in 0s 56.62 kB/s done

已上傳文件的默認(rèn)訪問權(quán)限是“private”(私有),這意味著只有你才可以訪問這些文件,不過需使用正確的訪問密鑰和安全密鑰。

想把文件上傳到擁有公開訪問權(quán)限的現(xiàn)有存儲桶,運行這個命令:

$ s3cmd put --acl-public 4.png s3://dev99 4.png -> s3://dev99/4.png [1 of 1] 30778 of 30778 100% in 8s 3.34 kB/s done Public URL of the object is: http://dev99.s3.amazonaws.com/4.png

如果授予公開訪問權(quán)限,任何人都可以訪問已上傳文件,只要使用任何Web瀏覽器訪問http://dev99.s3.amazonaws.com/4.png。

想查看現(xiàn)有存儲桶里面的的內(nèi)容,運行這個命令:

$ s3cmd ls s3://dev99 2013-06-02 02:52 26261 s3://dev99/1.png 2013-06-02 02:52 201430 s3://dev99/2.png 2013-06-02 02:52 46630 s3://dev99/3.png 2013-06-02 02:56 30778 s3://dev99/4.png

想下載現(xiàn)有存儲桶里面含有的文件(比如所有的.png文件),運行這個命令:

$ s3cmd get s3://dev99/*.png s3://dev99/1.png -> ./1.png [1 of 4] 26261 of 26261 100% in 0s 39.39 kB/s done s3://dev99/2.png -> ./2.png [2 of 4] 201430 of 201430 100% in 7s 24.64 kB/s done s3://dev99/3.png -> ./3.png [3 of 4] 46630 of 46630 100% in 1s 39.34 kB/s done s3://dev99/4.png -> ./4.png [4 of 4] 30778 of 30778 100% in 0s 97.01 kB/s done

想刪除現(xiàn)有存儲桶里面的文件,運行這個命令:

$ s3cmd del s3://dev99/*.png File s3://dev99/1.png deleted File s3://dev99/2.png deleted File s3://dev99/3.png deleted File s3://dev99/4.png deleted

想獲得關(guān)于現(xiàn)有存儲桶的信息,包括存儲桶的存儲位置和訪問控制列表(ACL),運行這個命令:

$ s3cmd info s3://dev99 s3://dev99/ (bucket): Location: us-east-1 ACL: dan.nanni: READ ACL: dan.nanni: WRITE ACL: dan.nanni: READ_ACP ACL: dan.nanni: WRITE_ACP

將文件上傳到現(xiàn)有存儲桶之前對文件進(jìn)行加密,運行這個命令:

$ s3cmd -e put encrypt.png s3://dev99 /tmp/tmpfile-pzT1zV3kLZlxDwqA0kwy -> s3://dev99/encrypt.png [1 of 1] 196890 of 196890 100% in 1s 99.51 kB/s done

用s3cmd下載已加密文件時,它會自動檢測有無加密,一旦下載,就對文件實時進(jìn)行解密。因而,想下載和訪問已加密文件,只要像平常那樣運行即可:

$ s3cmd get s3://dev99/encrypt.png s3://dev99/encrypt.png -> ./encrypt.png [1 of 1] 196890 of 196890 100% in 1s 131.29 kB/s done

想刪除現(xiàn)有的存儲桶,運行這個命令:

$ s3cmd rb s3://dev99 Bucket 's3://dev99/' removed

請注意:如果存儲桶里面不是空的,就沒法刪除它。

英文原文鏈接:http://xmodulo.com/how-to-access-amazon-s3-cloud-storage-from-command-line-in-linux.html

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號