2013-07-29 151 views
0

我試圖將存儲桶上的整個/contentstore/文件夾複製到時間戳版本。基本上/contenstore/將被複制到/contentstore/20130729/複製同一Amazon S3存儲桶中的文件

我的整個腳本首先使用s3s3mirror將我的生產S3存儲桶克隆到備份。然後,我想將備份重命名爲時間戳副本,以便我可以保留相同的多個版本。

我有一個使用s3cmd這個工作版本,但它似乎需要非常長的時間。兩個桶之間的s3s3mirror部分在幾分鐘之內完成,可能是因爲它是對現有文件夾的刷新。但即使在乾淨的s3s3mirror(沒有現有的備份內容存儲)的情況下,大約需要20分鐘。

另一方面,將conentstore複製到備份存儲桶上的時間戳副本需要花費一個多小時10分鐘。

我做錯了什麼嗎?同一個桶中的數據副本是否需要比兩個不同桶之間的完整克隆更長的時間?

任何想法,將不勝感激。

PS:我正在運行的命令是s3cmd --recursive cp backupBucket/contentStore/ backupBucket/20130729/

+0

你是如何創建目錄20130729的? –

+0

我實際上使用's3cmd - 遞歸cp backupBucket/contentStore/backupBucket/20130729 /'。這裏'backupBucket'是一個設置爲s3:// bucketName的變量。我應該創造不同的桶嗎? – akshtray

+0

我不確定這是否會加速它,但你有沒有考慮下載它們然後上傳它們?該腳本不會很難 –

回答

0

由於您的源路徑包含你的目標路徑,你實際上可能被抄襲的事情不止一次 - 再當第一到目標路徑,然後目標路徑與您的源前綴匹配。這也可以解釋爲什麼複製到不同的存儲桶比在同一個存儲桶中更快。

如果您使用的是s3s3mirror,請使用-v選項,您將看到正在複製的內容。它是否顯示多次複製相同的密鑰?

相關問題