Сценарий автоматического запуска для уведомления меня относительно проблем соединения

Мое сетевое соединение иногда не очень стабильно и начинает отбрасывать пакеты или полностью повреждаться время от времени, который требует, чтобы я перезапустил сетевое соединение или иногда временно отключил некоторые устройства.

Это - по всей вероятности не проблема Ubuntu, но имеет отношение к аппаратным средствам и экологическим влияниям и интерференции.

То, что я хочу, должно было бы быть уведомлено (всплывающее окно или апплет индикатора), как только мое соединение начинает повреждаться. Обнаружение этого работает путем проверки ping ответы моего локального маршрутизатора, если я могу достигнуть его, все в порядке.

Можно ли предоставить мне сценарий, который проверяет с помощью ping-запросов мой маршрутизатор о каждой секунде, если соединение активно? Это должно проверить на потерянные пакеты и предупредить меня, если Вы не возвращаетесь.

1
задан 11 August 2015 в 18:07

1 ответ

Как насчет:

#!/bin/bash
dev='eth0'

if { nmcli dev status | grep "^"$dev".* connected" ;} &>/dev/null; then
  while :; do
    if ping -c 4 -i 0.5 gmail.com &>/dev/null; then
        sleep 5
    else
        sleep 30
        until ping -c 4 -i 0.5 gmail.com &>/dev/null; do
          notify-send --urgency=critical "Network issue"
          sleep 30
        done
        notify-send --urgency=critical "There was a Network issue, Its Ok now"
    fi
  done
fi

Сохраняют интерфейс, который Вы хотите контролировать как переменная dev.

Этот сценарий сначала проверит, закончилось ли соединение, если это произошло затем, это отправит 4 пакета эхо-запроса ICMP с интервалом 0,5 секунд к 192.168.1.1 (предполагающий, что это - Ваш IP-адрес маршрутизаторов). Если какой-либо из пакетов будет иметь ответ эха от маршрутизатора затем, то он будет ожидать в течение 5 секунд прежде, чем указать эти ping проверка снова.

Теперь, если всем 4 из пакетов не удалось получить ответ от маршрутизатора затем, он будет спать в течение 30 секунд так, чтобы мы не были overwhemed внезапной сетевой вспышкой. После 30 секунд это начнет сверяться ping снова, если успешно выполнится на этот раз, то сообщение There was a Network issue, Its Ok now покажут.

, Если это не хорошо все еще, затем сообщение Network issue покажут, затем это будет ожидать в течение 30 секунд и запустит цикличное выполнение снова, пока любой успешный ответ не будет получен.

2
ответ дан 7 December 2019 в 13:54

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

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