我创建了一个SH文件和cron作业,以便在我的服务器达到5或更高的负载时通知我。它在我的一个专用上工作正常,在第二个时没有执行,并且在另一个上给我一个错误。我很困惑 - 他们都使用SAME文件内容:
SUBJECT="HOSTNAME load is high"
TO=email@domain.com
uptime > /tmp/load
if [ `uptime | awk '{ print$11 }' | cut -d. -f1` -gt 1 ];
then
mail -s "$SUBJECT" $TO < /tmp/load
exit
fi
它保存在名为loadmon3.sh的文件中,而cron作业是* * * * * /bin/sh /home/username/loadmon3.sh
(我每分钟运行一次以进行测试,但是一旦我知道它正常运行,我会将其更改为每5分钟。)
问题是我收到的邮件中包含以下错误:
/home/username/loadmon3.sh: line 4: [: -gt: unary operator expected
提前感谢任何见解。我把头发拉到这里。如果我发布的内容不正确,请原谅 - 这是我第一次需要这样的帮助!