回答
Yippe - 更新到AWS CLI允許您通過遞歸最小二乘桶...
aws s3 ls s3://<bucketname> --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
打印總數/ 1024/1024/1024 * .03對於$使用情況給出了一個很好的估計,如果你在1TB以下。 @cudds超棒 - 謝謝! – chrislovecnm
如果你只有一個桶,你不需要grep部分。 – jpbochi
AWS Cloudwatch現在具有每日更新的存儲桶大小和對象數的度量標準。關於時間! https://aws.amazon.com/blogs/aws/amazon-s3-update-delete-notifications-better-filters-bucket-metrics/ – cudds
見https://serverfault.com/questions/84815/how-can-i-get-the-size-of-an-amazon-s3-bucket
維克回答...
<?php
if (!class_exists('S3')) require_once 'S3.php';
// Instantiate the class
$s3 = new S3('accessKeyId', 'secretAccessKey');
S3::$useSSL = false;
// List your buckets:
echo "S3::listBuckets(): ";
echo '<pre>' . print_r($s3->listBuckets(), 1). '</pre>';
$totalSize = 0;
$objects = $s3->getBucket('name-of-your-bucket');
foreach ($objects as $name => $val) {
// If you want to get the size of a particular directory, you can do
// only that.
// if (strpos($name, 'directory/sub-directory') !== false)
$totalSize += $val['size'];
}
echo ($totalSize/1024/1024/1024) . ' GB';
?>
的AWS控制檯不會告訴你這一點,但你可以使用Bucket Explorer或Cloudberry Explorer獲得桶的總規模。兩者都有免費版本。
注意:這些產品仍然需要獲取每個單獨對象的大小,因此可能需要很長時間才能處理大量對象。
雖然我只能看到一個試用軟件。該優惠已被移除? – Trefex
@Trefex http://www.cloudberrylab.com/free-amazon-s3-explorer-cloudfront-IAM.aspx –
我使用Cloud Turtle來獲取單個桶的大小。如果存儲桶大小超過> 100 Gb,則需要一些時間才能顯示大小。 雲烏龜是免費的。
請小心使用此軟件。它安裝了額外的Chrome擴展,似乎相當垃圾。 – styks
s3cmd可以通過運行s3cmd du
向您顯示此信息,可以選擇將存儲桶名稱作爲參數傳遞。
在具有python
(與pip
安裝程序)的Linux中,grep
和awk
,安裝AWS CLI(命令行工具EC2,S3以及許多其他服務)
sudo pip install awscli
然後創建一個.awssecret
文件您有如下內容的主文件夾(如果需要調整的關鍵,祕密和地區):
[default]
aws_access_key_id=<YOUR_KEY_HERE>
aws_secret_access_key=<YOUR_SECRET_KEY_HERE>
region=<AWS_REGION>
將此文件讀寫只有你的用戶:
sudo chmod 600 .awssecret
並將其導出到您的環境
export AWS_CONFIG_FILE=/home/<your_name>/.awssecret
然後在終端中運行(這是一個單行命令,通過\
爲方便閱讀在這裏分開):
aws s3 ls s3://<bucket_name>/foo/bar | \
grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | \
awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024" MB"}'
aws
部分列出了存儲桶(或可選的「子文件夾」)grep
部分刪除(使用-v
)與正則表達式匹配的行(使用-E
)。^$
爲空白行,--
是用於在aws s3 ls
- 最後
awk
輸出端的分離器線簡單地添加到total
所得輸出(尺寸單位爲KB)的第三式柱然後在最後
注意該命令適用於當前桶或「文件夾」,而不是遞歸
基於@ cudds的回答是:
function s3size()
{
for path in $*; do
size=$(aws s3 ls "s3://$path" --recursive | grep -v -E "(Bucket: |Prefix: |LastWriteTime|^$|--)" | awk 'BEGIN {total=0}{total+=$3}END{printf "%.2fGb\n", (total/1024/1024/1024)}')
echo "[s3://$path]=[$size]"
done
}
...
$ s3size bucket-a bucket-b/dir
[s3://bucket-a]=[24.04Gb]
[s3://bucket-b/dir]=[26.69Gb]
此外,Cyberduck方便地允許大小的計算桶或文件夾。
AWS CLI現在支持--query
參數,其中需要JMESPath表達式。
這意味着您可以使用sum(Contents[].Size)
對list-objects
給出的尺寸值進行求和,並計數如length(Contents[])
。
這可以使用AWS官方CLI爲下方運行,並在Feb 2014
aws s3api list-objects --bucket BUCKETNAME --output json --query "[sum(Contents[].Size), length(Contents[])]"
我不得不在Windows命令行中的查詢字符串周圍使用雙引號。雖然像冠軍一樣工作。 –
引入除了克里斯托弗的回答。
如果你需要統計的版本桶使用總規模:
aws s3api list-object-versions --bucket BUCKETNAME --output json --query "[sum(Versions[].Size)]"
它計算兩個最新和存檔的版本。
獲取大桶大小通過API(aws cli或s4cmd)很慢。這裏的使用bash我HowTo explaining how to parse S3 Usage Report一個班輪:
cat report.csv | awk -F, '{printf "%.2f GB %s %s \n", $7/(1024**3)/24, $4, $2}' | sort -n
我不知道這個時候加入到給定AWSCLI原來的問題是,3年前,但在命令行工具提供一個運行良好總結:
aws s3 ls s3://mybucket --recursive --human-readable --summarize
你和[Christopher's](http://stackoverflow.com/a/26963108/700420)是迄今爲止最好的答案。 –
比接受的答案簡單得多。謝謝! –
雲手表還允許您爲S3存儲桶創建度量標準。它通過大小和對象數顯示您的指標。 服務>管理工具>雲手表。選擇您的S3存儲區所在的區域,大小和對象數量指標將在這些可用指標之間。
那麼,你也可以通過S3客戶端來實現,如果你喜歡人性化的用戶界面。
我使用CrossFTP,它是免費的,跨平臺的,在那裏你可以右鍵點擊文件夾目錄 - >選擇「屬性...」 - >點擊「計算」按鈕旁邊的大小和瞧。
這是一個古老的問題,但自從我在尋找答案時,我碰到了它。一些答案讓我記得我使用S3瀏覽器來管理數據。您可以點擊一個存儲桶並點擊屬性,它會顯示總數。很簡單。我強烈推薦的瀏覽器:https://s3browser.com/default.aspx?v=6-1-1&fam=x64
要使用AWS控制檯找出S3桶的大小:
- 點擊S3桶名稱
- 選擇「管理」選項卡
- 單擊「度量」導航按鈕
- 默認情況下,你應該看到桶
希望這有助於儲存度量。
- 1. SQL列使用多少磁盤空間
- 2. 如何查找使用Java留下了多少磁盤空間?
- 3. heroku計劃有多少磁盤空間?
- 4. 如何檢查可用磁盤空間?
- 5. 如何查看我在MySql中使用了多少空間?
- 6. 如何查看佔用Azure服務計劃的磁盤空間?
- 7. 表使用過多的磁盤空間
- 8. 做Mongo索引時使用多少磁盤空間會增加?
- 9. 如何找到Cocoa剩下多少磁盤空間?
- 10. 獲取使用的總磁盤空間和剩餘的磁盤空間?
- 11. 我的媒體網站需要多少磁盤空間?
- 12. Powershell磁盤空間檢查
- 13. 如何確定一個表在ASE中使用多少磁盤空間
- 14. iPhone上的應用程序有多少磁盤空間可用?
- 15. 服務器中缺少磁盤空間
- 16. TFS 2015 - 磁盤空間持續減少
- 17. 什麼是unix命令來查看有多少磁盤空間以及剩餘多少?
- 18. 索引文件佔用了多少磁盤空間?
- 19. 如何檢查iPhone上使用的緩存磁盤空間量
- 20. 如何查找最高磁盤空間使用量安裝?
- 21. 如何在Windows機器上使用perl查找磁盤空間?
- 22. 如何檢查linux系統是否使用大磁盤空間?
- 23. 如何監視可用磁盤空間
- 24. Aws實例顯示更多的磁盤空間,然後根卷
- 25. Elasticsearch:如何減少磁盤使用量
- 26. AllegroGraph佔用磁盤空間
- 27. 如何確定特定MySQL表佔用了多少磁盤空間?
- 28. OpenFeint磁盤空間佔用空間
- 29. 我應該爲我的Subversion版本庫保留多少磁盤空間?
- 30. 廣告磁盤空間vs實際磁盤空間
你必須得到所有的對象,然後總結所有的文件大小。你不能在一個單一的操作。 – Layke