我正在尝试编写一个脚本来检查主文件夹磁盘使用情况,并在用户超过 xxGB 时通过电子邮件警告用户
我将 du -s * 的输出转储到临时文件中,逐行读取,当我尝试从 du 的输出中读取文件夹的大小和名称时,它无法正常工作,只需执行 echo $文件我将每行转储为两行,我尝试扩展以用空格替换制表符,但也没有用,而且我也不知道如何根据大小进行比较。
#!/bin/bash
#echo "Disk usage report for /homes on `hostname`"
EMAIL="helpdesk@xy.com"
##########################
# check staff
#########################
cd /homes/staff/
file1="/root/scripts/temp_check"
file2="/root/scripts/temp_check2"
du -s * | sort -rn | head -15 |awk '{print}' > $file1
expand $file1 > $file2
for line in $(cat $file2)
do
echo $line
# echo $line | awk '{ print $2 }'
mail -s "Disk usage report for your homefolder" $EMAIL
done