Выполнение скрипта Crontab

Я пытаюсь выполнить автоматический перезапуск при потере связи и только что нашел этот скрипт в сети (благослови человека, который это сделал). сценарий имеет вид

ping -c4 www.site.com > /dev/null

if [ $? != 0 ] 
then
  sudo /sbin/shutdown -r now
fi

, так что этот сценарий отлично работает. я хотел добавить еще один сценарий с той же функцией, но вместо проверки связи с сайтом я хотел добавить еще один, чтобы он мог проверять связь с сервером, поэтому я сделал тот же сценарий, но просто изменил то, что он проверял

ping -c4 192.168.1.5 > /dev/null

if [ $? != 0 ] 
then
  sudo /sbin/shutdown -r now
fi

i я храню этот сценарий на / usr / local / bin / , поэтому имя файла в первом сценарии потери связи будет /usr/local/bin/commsloss.sh , а затем имя файла второго скрипта /usr/local/bin/serverloss.sh

я добавил обе эти строки в crontab -e

* / 5 * * * * / usr / bin / sudo -H /usr/local/bin/commsloss.sh >> / dev / null 2> & 1

* / 10 * * * * / usr / bin / sudo -H / usr / local / bin / serverloss. sh >> / dev / null 2> & 1

, а затем я попытался выключить сервер, чтобы посмотреть, перезапустится ли он, но это не сработало.

есть предложения?

Мне было интересно, сработает ли это или это правильный синтаксис, чтобы использовать только один сценарий вместо двух?

ping -c4 www.site.com > /dev/null || ping -c4 192.168.1.5 > /dev/null
0
21.08.2018, 05:22
1 ответ

Я не знаю, почему ваш текущий серверный скрипт не работает, но это должно позволить вам использовать оператор or:

#!/bin/bash
ping -q -c4 www.site.com > /dev/null
siteup=$?
ping -q -c4 192.168.1.5 > /dev/null
ipup=$?
if [[ $siteup != "0" || $ipup != "0" ]]; then
  sudo /sbin/shutdown -r now
else
  :
fi
0
28.01.2020, 04:43

Теги

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