Как запустить никогда конечный сценарий при запуске

Я пытаюсь автоматически запустить никогда конечный скрипт (таким образом, он не возвращается 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
3
задан 5 September 2012 в 20:51

1 ответ

Вместо того, чтобы настраивать сценарий, чтобы работать постоянно при запуске, почему бы не изменить его для выполнения крона использования? Так как Вы говорите этому спать в течение 60 секунд между выполнениями так или иначе, с помощью крона для запущения скрипта без некоторое время цикла, после того как минута имела бы больше смысла и была бы более проста справиться.

Вы могли бы также интересоваться ответами для этого вопроса на serverfault:

https://serverfault.com/questions/49082/can-i-run-a-cron-job-more-frequently-than-every-minute

0
ответ дан 21 October 2019 в 11:01

Другие вопросы по тегам:

Похожие вопросы: