考虑通过将原有的du命令替换,并基于df命令来编写一个新的du命令来取而代之。
[root@idc1-server2 ~]# mv /usr/bin/du /usr/bin/du.orig
[root@idc1-server2 ~]# vim /usr/bin/du
1 #!/bin/sh
2
3 mydf=$(df -Pk $2 | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $3 }')
4 echo -e "$mydf\t$2"
[root@idc1-server2 ~]# chmod +x /usr/bin/du
不过这样的话,统计出来的结果不就不准确了吗?
但具体情况具体应对,一般来说,Hadoop的datanode都会采用不同的磁盘并划分分区来存储数据,那么使用df统计出来的结果,误差应该是很小的。
温馨提示:答案为网友推荐,仅供参考