2011-12-28 109 views
3

我想爲大小爲200萬的文件設置s3存儲桶的災難恢復副本。從S3中下載非常大量的文件

這並不一定要進行自動化處理,因爲我們相信亞馬遜的承諾,高可靠性,我們啓用了版本控制和設置MFA刪除桶本身。

因此,我只是想定期下載(手動)存儲桶的內容以保持脫機副本。

我已經嘗試了幾個S3客戶端,但大多數處理這樣的大文件夾時掛起。

是否有任何工具,是適合這份工作還是我們不得不求助於亞馬遜的數據導出服務(這裏,我們必須給他們,我們需要脫機備份USB驅動器每次)。

在此先感謝您的建議!

回答

3

處理數百萬個文件的桶可能會非常具有挑戰性,除非對文件名有某種「結構」。不幸的是,這不會幫助任何圖形用戶界面工具,所以你不能實現自己的解決方案。例如:

  1. 如果所有文件開始的日期,您可以使用頭在Get Bucket請求,只返回超過一定日期的文件。

  2. 如果您文件被安排在「虛擬」文件夾,可以用戶prefixdelimiter頭到每個文件夾分別處理。 (考慮這樣做並行以加快速度)

即使你沒有結構,也不會丟失。 S3客戶端因爲試圖將整個200萬文件列表保存在內存中而掛起。您可以一次下載列出1000個文件的對象,但將其保存到文件/數據庫等中。獲取全部200萬條文件需要很長時間,但一旦完成後,只需循環訪問您保存的列表並根據需要下載即可。

更重要的是,如果你能「指數」你在數據庫文件,因爲它們被添加到S3,你可以用它來確定哪些文件進行下載。