среда, 14 октября 2020 г.

Определение действия при отсутствии Интернет

Сценарий создавался для личных нужд. Идея: если Интернет отсутствует, то нет необходимости в работе клиентов синхронизации и они должны быть выключены. В данном случае рассматривается выключение клиентов Dropbox и pCloud.

При запуске сценария проверяется наличие Интернет по ответу от google.com 
Если Интернет присутствует, то в файл наличия Интернет internet.txt записывается значение 1. Если ответ отсутствует, то в файл состояния записывается значение 0 и после этого поступают команды на выключение клиентов pCloud и Dropbox.

#!/bin/bash
net=/home/minter/Reports/internet.txt
echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1
if [ $? -eq 0 ]; then
  echo "1" > $net
else
  echo "0" > $net
  killall -s TERM pcloud
  dropbox stop
fi
exit

Записанное в файл internet.txt значение может быть использовано при выполнении фоновых заданий по расписанию. Для этого читается записанное в этот файл значение. Если оно совпадает со значением 0, то "ничего не делать". Если не совпадает – выполнить какую-либо команду.

#!/bin/bash
net1=`cat /home/minter/Reports/internet.txt`
net0=0
if [ $net1 -eq $net0 ]; 
  then
    :
  else
    ваша_команда
fi
exit

Комментариев нет:

Отправить комментарий