我正在编写一个bash脚本,通过磁盘百分比监视磁盘空间使用情况。
usage.sh
#!/bin/bash
NUMARRAY=$(df --output=pcent | sed '1d;s/^ //;s/%//')
ARR=( $NUMARRAY )
for hddPercentageUsage in "${ARR[@]}"; do
#echo $hddPercentageUsage;
if((hddPercentageUsage >= 50)); then
echo 'Half of disk space is taken up'
fi
done
命令
df --output=pcent | sed '1d;s/^ //;s/%//'
生成这样的东西,我基本上循环遍历该字符串:
1
1
78
0
0
0
0
1
如果我手动运行(通过终端),脚本会生成正确的结果。 如果我通过'crontab -e'命令运行它,它不会产生“占用磁盘空间的一半”(当其中一个磁盘占用率超过50%时)
Cronjob命令
*/5 * * * * /home/ubuntu/space_log/./usage.sh > /home/ubuntu/space_log/space.log
任何帮助人?感谢