Я просто переключился на сервер Ubuntu 14.04 с сервера 11.04. В / var / spool / cron / crontabs / root у меня есть строка:
* * * * * /root/arewerunning.sh > /root/appmon.log
iswerunning.sh выглядит так:
#!/bin/sh
if P=$(pgrep aserver)
then
echo " "
else
echo "aserver has stopped. System Will reboot"
sudo reboot now
fi
На сервере 11.04 это работало , Всякий раз, когда я убивал сервер, система перезагружается. Но в 14.04 команда запускается, но система не перезапускается. cron.log выглядит так:
(root) CMD (/root/arewerunning.sh > /root/appmon.log)
, когда процесс не был убит и как:
(root) CMD (/root/arewerunning.sh > /root/appmon.log)
(CRON) info (No MTA installed, discarding output)
, когда процесс был убит. Я знаю, что линия MTA связана с тем, что она пытается отправить мне по электронной почте, и это невозможно, но это не должно препятствовать перезагрузке.
Я попытался запустить команду вне cron, и она работает просто отлично , Я использую прямой путь, так что это не проблема. Я также попытался добавить «sh» перед командой. appmon.log ничего не показывает. Я попытался поместить другие команды в файл, и они работают отлично.