我正在嘗試使用bash腳本從服務器收集基本磁盤空間信息,並以JSON格式存儲輸出。我正在尋找記錄可用的&使用的磁盤空間。存儲輸出diskspace df -h JSON
一個例子輸出DF -h的:
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 4.0K 2.0G 1% /dev
tmpfs 394M 288K 394M 1% /run
/dev/mapper/nodequery--vg-root 45G 1.4G 41G 4%/
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 0 2.0G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda2 237M 47M 178M 21% /boot
/dev/sda1 511M 3.4M 508M 1% /boot/efi
作爲一個例子,這是我怎麼想最終輸出的樣子。
{
"diskarray": [{
"mount": "/dev/disk1",
"spacetotal": "35GB",
"spaceavail": "1GB"
},
{
"mount": "/dev/disk2",
"spacetotal": "35GB",
"spaceavail": "4GB"
}]
}
到目前爲止,我已經試過用awk:
df -P -B 1 | grep '^/' | awk '{ print $1" "$2" "$3";" }'
與下面的輸出:
/dev/mapper/nodequery--vg-root 47710605312 1439592448;
/dev/sda2 247772160 48645120;
/dev/sda1 535805952 3538944;
但我不知道我怎麼拿這些數據並將其存儲在JSON格式。
我已經得到這個:df -P -B 1 | grep'^ /'| awk'{print $ 1「'$ 2」「$ 3」;「 }' – westcoastdev
您應該編輯您的問題以包含您嘗試的解決方案,並告訴我們您遇到了哪些問題。你會得到更好的反應,「這是我的嘗試,這是它不起作用」,而不是「我想這樣做,告訴我怎麼做」。 – miken32
對不起,我編輯過,這個網站相當新,一般情況下,我發現其他例子,我發現做類似的事情。 – westcoastdev