【发布时间】:2017-02-16 14:27:17
【问题描述】:
我写了shell脚本来监控空间
echo "___________" `date` "___________"
df | tr -s ' ' $'\t' | cut -f5 > file.txt
echo `sed 's/Use//g' file.txt` > file.txt
echo `sed 's/%//g' file.txt` > file.txt
expression=`cat file.txt | sed -e 's/ / /g'`
echo $expression
a=($expression)
#echo ${a[0]}
#echo ${a[1]}
#echo ${a[2]}
#echo ${a[3]}
#echo ${a[4]}
#echo ${a[5]}
#echo ${a[6]}
total=`expr ${a[0]} + ${a[1]} + ${a[2]} + ${a[3]} + ${a[4]} + ${a[5]} + ${a[6]}`
echo $total
server=`who`
if [ $total -ge 90 ]
then
echo "greater"
else
echo "Space occupied " $total "%"
fi
当我在终端中运行此脚本时,它运行良好。 tr 和 cut 命令可以正常工作。但是当我在 crontab 中安排这个脚本时,tr 和 cut 命令不会解析 df 命令的输出。 这是终端时脚本的输出
1 1 96 0 0 4 1
103
greater
脚本在 cron 中调度时的输出
Filesystem$1K-blocks$d$Available$$Mounted$on udev$1945488$4$1945484$1$/dev tmpfs$391332$836$390496$1$/run /dev/sda1$476684304$433659732$18787364$96$/ none$4$0$4$0$/sys/fs/cgroup none$5120$0$5120$0$/run/lock none$1956652$84020$1872632$5$/run/shm none$102400$56$102344$1$/run/user
帮帮我!
【问题讨论】:
标签: shell awk cron crontab cut