我一直在摸索着我的頭腦。 我有一個由root cron作業運行的腳本。 該腳本執行,但腳本內有一個不會執行的腳本。 這裏是我們稱之爲SCRIPTA在shell腳本中執行shellscript
#!/bin/bash
lines=`wc -l < /var/www/log/addme`;
DATE=`date +%Y-%m-%d`
if [[ $lines > 4 ]];
then
echo " " > /var/www/log/addme
RESTART=/var/www/log/restart.sh
$RESTART
else
echo "No new hosts added" | wall
fi
基本上什麼restart.sh腳本做是爲了重新啓動服務。當我從終端運行它們 一切都運行得很好,但不能作爲cron作業... 我也試圖只是把
./restart.sh
/var/www/log/restart.sh
但隨着相同的結果。 有什麼想法?
cron作業是以超級用戶還是以其他用戶身份運行?用戶是否可以訪問/ var/www/log?你有沒有試過記錄第一個腳本嘗試調用第二個腳本時發生了什麼(將'$ RESTART'更改爲'$ RESTART> /var/tmp/foo.log 2>&1')? –
'/ var/www/log/restart.sh'上有什麼權限?它是可執行的嗎?如果沒有,你可以'chmod + x',或者在腳本A中用'bash $ RESTART'運行它。 – ghoti
此外,設置了'MAILTO'可變你的crontab裏面,這樣就可以看到由工作產生什麼錯誤。 – ghoti