LINUX.ORG.RU
ФорумAdmin

Скрипт bash для мониторинга сетевого соединения

 


0

2

Появилась необходимость написать скрипт (не спрашивайте зачем). Как я понимаю, он совсем несложный, но со скриптами я не силен. Нужно создать скрипт, который постоянно следит за вкл и откл сетевого соединения и выводит в эти моменты соответствующие строки типа: eth0 включен; eth0 выключен. Помогите пожалуйста

Перемещено hobbit из general



Последнее исправление: Lantzevrot (всего исправлений: 1)

Тебе нужно анализировать вывод любой консольной утилиты управления сетью.

Текущая повсеместно используемая из состава iproute2 или устаревшая, но всё ещё могущая присутствовать ifconfig.

В общем, смотри вывод

ip l

Она же

ip link

Либо вывод

ifconfig -a

Находишь, что меняется в выводе в момент поднятия и опускания сетевого интерфейса.

Далее тебе нужна утилита grep для выбора нужной информации.

Ну и далее конструкция ‘if’, либо логическая операция «и» && и «или» ||.

Команда echo для вывода информации.

Цикл while.

Ну и ещё утилита sleep для ожидания, но можно без неё.

Смотришь man страницы по всему этому, ну либо примеры использования в интернет.

И далее пишешь скрипт на 5-10 строк.

Если что-то не будет получаться - присылай скрипт на форум.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)

Домашку задали, однозначно. Такие скрипты: «выводит строки типа: eth0 включен; eth0 выключен» – бесполезны в реальной жизни.

Но я не жадный

ETH=enp3s0
ip a s $ETH | grep -q 'state UP' && echo "$ETH is UP" || echo "$ETH is DOWN"
futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 1)
Ответ на: комментарий от kostik87

А убрать вывод grep?

«-q» ты не заметил?

Я и циклам должен обучать? Ну ладно

while :; do
   ip a s | grep -q ....
   sleep 0.99
done
futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 1)
Ответ на: комментарий от anc

но не более того

А ты понимаешь что и зачем нужно ТСу?

ЕМНИП в витухе линк определяется по одной паре.

Ну-ну. У меня серверная сетевуха, которая поддерживает только 1000BASE-T, при воткнутом 100BASE-T даже светодиодом не мигала.

Tanger ★★★★★
()