我曾在幾個SAAS站點看到人們存儲數據,並且該站點跟蹤其服務器上有多少數據。他們將這些信息顯示給用戶。獲取每個用戶的文件夾大小和所有內容
在軌道上使用紅寶石這些網站的一些如何做到這一點?似乎有足夠的網站這樣做,必須有一個我沒有意識到的標準方式。還是每個人都非常執行他們自己的解決方案?
如果每個人都已經實施了自己的解決方案則是一個很好的appraoch使用:
`du -s <directory>`
,只是分析數據。
我曾在幾個SAAS站點看到人們存儲數據,並且該站點跟蹤其服務器上有多少數據。他們將這些信息顯示給用戶。獲取每個用戶的文件夾大小和所有內容
在軌道上使用紅寶石這些網站的一些如何做到這一點?似乎有足夠的網站這樣做,必須有一個我沒有意識到的標準方式。還是每個人都非常執行他們自己的解決方案?
如果每個人都已經實施了自己的解決方案則是一個很好的appraoch使用:
`du -s <directory>`
,只是分析數據。
du
對於這類事情來說是一個很好的工具,它可能比使用Find手動滾動的速度快,但是在分析輸出時需要小心。
目錄在其名稱中包含外來字符的情況並不少見,其中包括明顯的空格以及不尋常的新行。這使得解析的du
如果有人這有些不可靠的輸出:
% mkdir "foo
1234 bar"
如果這不是什麼大不了的事,忘掉它。否則,您需要手動進行遞歸計算,這對於大型文件系統上的Ruby解釋器可能需要一段時間。
全部取決於網站如何存儲實際數據,以及有關其用戶上傳到其中的對象的元數據。數據不存儲在傳統文件系統(如S3)上是完全可能的。所以在像du
這樣的情況下不起作用。
所以,如果你在數據庫中存儲的元數據,包括大小,你可以只通過一個查詢得到上載大小的總和,而不會讓人產生了底層的文件系統......
標誌着我這是因爲'du'就是我最終使用的答案。 – percent20 2011-04-27 18:48:54