使用 'df -h' 检查特定文件夹的剩余磁盘百分比 space
Use 'df -h' to check % remaining disk space of a specific folder
我正在使用“df -h”命令在我的目录中获取磁盘 space 详细信息,它给我的响应如下:
现在我希望能够通过一些批处理或脚本自动执行此检查 - 所以我想知道我是否能够仅针对我关心的特定文件夹检查磁盘 space,因为如图所示 - 我只应该检查 /nas/home 它是否不超过 75%。
我怎样才能做到这一点?有帮助吗?
我目前的工作:
我正在使用
df -h > DiskData.txt
...这输出到文本文件
grep "/nas/home" "DiskData.txt"
... 这给了我输出:
*500G 254G 247G 51% /nas/home*
现在我希望能够搜索“%”符号前面或右边的数字(在本例中为 51)以实现我想要的。
此命令将为您提供 /nas/home 目录的百分比
df /nas/home | awk '{ print }' | tail -n 1| cut -d'%' -f1
所以基本上你可以在一些变量中使用存储作为值,然后应用 if else 条件。
var=`df /nas/home | awk '{ print }' | tail -n 1| cut -d'%' -f1`
if(var>75){
#send email
}
另一个变体:
df --output=pcent /nas/home | tail -n 1 | tr -d '[:space:]|%'
output=pcent - 仅显示百分比值(对于 coreutils => 8.21)
没有大量管道的更简洁的方法可能是:
df -h /nas/home | perl -ane 'print substr $F[3],0,-1 if $.==2'
Returns: 51
你的例子。
我正在使用“df -h”命令在我的目录中获取磁盘 space 详细信息,它给我的响应如下:
现在我希望能够通过一些批处理或脚本自动执行此检查 - 所以我想知道我是否能够仅针对我关心的特定文件夹检查磁盘 space,因为如图所示 - 我只应该检查 /nas/home 它是否不超过 75%。
我怎样才能做到这一点?有帮助吗?
我目前的工作:
我正在使用
df -h > DiskData.txt
...这输出到文本文件
grep "/nas/home" "DiskData.txt"
... 这给了我输出:
*500G 254G 247G 51% /nas/home*
现在我希望能够搜索“%”符号前面或右边的数字(在本例中为 51)以实现我想要的。
此命令将为您提供 /nas/home 目录的百分比
df /nas/home | awk '{ print }' | tail -n 1| cut -d'%' -f1
所以基本上你可以在一些变量中使用存储作为值,然后应用 if else 条件。
var=`df /nas/home | awk '{ print }' | tail -n 1| cut -d'%' -f1`
if(var>75){
#send email
}
另一个变体:
df --output=pcent /nas/home | tail -n 1 | tr -d '[:space:]|%'
output=pcent - 仅显示百分比值(对于 coreutils => 8.21)
没有大量管道的更简洁的方法可能是:
df -h /nas/home | perl -ane 'print substr $F[3],0,-1 if $.==2'
Returns: 51
你的例子。