我有这个用户的crontab(通过命令crontab -e访问):Linux的crontab的犯规启动脚本
# m h dom mon dow command
*/3 * * * * sh /home/FRAPS/Desktop/cronCheck.sh
脚本cronCheck.sh看起来像这样:
#!/bin/sh
SERVICE='Script'
if ps ax | grep -v grep | grep -i "$SERVICE" > /dev/null
then
echo "######## $SERVICE service running, everything is fine ##################\n" >> CronReport.txt
else
echo "$SERVICE is not running. Launching it now\n" >> CronReport.txt
perl Script.pl
fi
当我启动脚本(cronCheck.sh)来自它自己的目录,它就像一个魅力一样,但是当cron启动它时,它总是“#$ SERVICE服务正在运行,一切正常###” 尽管'脚本'没有运行。
感谢,
这也是令人惊讶的脆弱(虽然不是特别如此)。例如,如果其他用户正在其名称中的任何位置运行带有“Service”的命令,则脚本会认为一切正常。相反,实际上测试服务已经到了通过尝试连接到它。 – telent 2010-09-10 16:53:13