我有這個用戶的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