我编写了用于监视空间的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 和剪切命令运行正常。但是当我在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
帮助我!
答案 0 :(得分:1)
不确定我是否遵循了您想要获得的内容,但无论何时使用crontab,您都应使用所有命令的完整路径,因为所有命令的路径可能无法使用/设置。您的代码可能特别短:
=DATEVALUE(LEFT(YourCell,11))