Я пытаюсь автоматически запустить никогда конечный скрипт (таким образом, он не возвращается 0 на выходе) при запуске на моем бездисплейном сервере человечности 12.04 без GUI.
Я попробовал @reboot nohup/home/luke/netup.sh и в crontab, и сценарий не работает правильно, хотя это, кажется, работает. Я попробовал обновление-rc.d netup.sh значения по умолчанию, запущенный сценарий, но все еще не работал правильно и большинство других программ, которые предполагаются к автоматическому запуску, не запускался.
Сценарий пытается контролировать и записать интернет-отключения электричества и содержит, в то время как - действительно циклично выполняются. Это работает при входе в систему к серверу и ручном запуске.
Вот сценарий
#!/bin/bash
#
# Script to monitor internet up time
echo "Server started" `date "+%F %T"` >> /home/luke/netup.log
START=0
while [ 1 ] ; do # continuous loop
#------------------------------------------------------------------------
/bin/ping -q 8.8.8.8 -c1 1>/dev/null 2>/dev/null # ping test
PING=$?
#------------------------------------------------------------------------
if [ $PING = 0 ]; then # ping success
if [ $START -ne 0 ]; then # was down
END=$(date +%s)
TIME=$(($END - $START))
START=0
let TIME=($TIME/60) #convert seconds to minutes
echo "Failed" $FAIL_TIME "for" $TIME "minutes" >> /home/luke/netup.log
fi
else # ping failure
if [ $START -eq 0 ]; then # was up
START=$(date +%s)
FAIL_TIME=$(date "+%F %T")
fi
fi
#------------------------------------------------------------------------
if [ $PING = 0 ]; then # wait
sleep 60
else
sleep 10
fi
done
Вместо того, чтобы настраивать сценарий, чтобы работать постоянно при запуске, почему бы не изменить его для выполнения крона использования? Так как Вы говорите этому спать в течение 60 секунд между выполнениями так или иначе, с помощью крона для запущения скрипта без некоторое время цикла, после того как минута имела бы больше смысла и была бы более проста справиться.
Вы могли бы также интересоваться ответами для этого вопроса на serverfault:
https://serverfault.com/questions/49082/can-i-run-a-cron-job-more-frequently-than-every-minute