更新:当我在下面的脚本中回显 $res 时,我得到以下内容,我猜这是因为脚本本身包含单词 searchd!所以在 cronjob 进程被执行的那一刻,$res 就变成了空的!
我重命名了脚本,问题解决了!
根 10769 7177 0 23:31 pts/1 00:00:00 /bin/bash /home/scripts/monitor_searchd.sh 根 10770 10769 0 23:31 pts/1 00:00:00 /bin/bash /home/scripts /monitor_searchd.sh
原来的问题:
我有一个 shell 脚本,当我在 shell 中调用它时它可以工作,但是当以以下方式放入 crontab 时,它不起作用(不发送电子邮件)。奇怪的是,cron 日志显示该进程每分钟都在运行!
*/1 * * * * 根 /home/scripts/monitor_searchd.sh
这是脚本:
进程="java" res="`ps -ef|grep $process|grep -v grep`" 如果 [ !-n "$res" ]; 然后 echo "$进程已关闭!" | mail -s "$process is down" xxx@gmail.com 菲
定时日志
CROND[7370]:(根)CMD(/home/scripts/monitor_searchd.sh)