смотреть интернет соединение через оболочку

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

ping google.com - это простая команда, чтобы заставить его работать. Но как я могу это посмотреть?

0
задан 27 September 2015 в 00:14

3 ответа

Я думаю, что Вы могли бы просто искать

ping -c1 -W1 google.com >/dev/null && command

, Который выполнится command, только если ping был успешен.

2
ответ дан 27 September 2015 в 00:14

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

Скорость интерфейсов (Wi-Fi, Ethernet)

ifstat -S

Скорость отдельных передач/соединений

sudo iftop

0
ответ дан 27 September 2015 в 00:14

Вы могли сделать что-то вроде этого

#!/bin/bash

while [ 1 ]; do
   TEST=$(nmcli -f STATE dev status | awk '/connected/ {print 1}')
    if [ $TEST ]; then
      # place whatever you wanna do here if connection is available
    fi
sleep 0.25
done

nmcli, имеет команду dev status, которая показывает состояние сетевых интерфейсов. Так, мы проверяем только столбец состояния вывода с -f STATUS флаг формата. Если у нас есть соединение, независимо если это - Ethernet или Wi-Fi, мы устанавливаем ТЕСТОВУЮ переменную на 1, имея в виду верный. Затем if . . then . . .fi оператор, который на самом деле делает задание.

0
ответ дан 27 September 2015 в 00:14

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

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