Монитор сбоя пинга

сеть часто выходит из строя, и я хотел бы контролировать вывод. Я попытался временно изменить команду, например:

ping www.google.fr | while read pong; do echo "$(date): $pong"; done 1>/dev/null && 2> ~/ping_err.log

, но STDERR все еще перенаправляется на STDOUT вместо ping_err.log

примечание: я хочу только STDERR в файле (не 2> & 1)

Спасибо!

1
задан 5 July 2019 в 21:07

3 ответа

Вместо того, чтобы отвечать на Ваш stderr вопрос о перенаправлении, я предложу лучшее (по моему скромному мнению), путь:

В https://github.com/waltinator/net-o-matic.git - Наблюдайте за потерей работоспособности сети (WiFi), затем сделайте указанную пользователями вещь зафиксировать ее.

Существует способ контролировать Ваше соединение:

  ip monitor address | \
    egrep --line-buffered \
    '^Deleted [[:digit:]]+: [[:alnum:]]+[[:space:]]+inet[[:space:]].* scope global ' | \
    while read line ; do
       ...

Мой net-o-matic сценарий также содержит способ спросить однажды:

function netstate () {
    # Return network state as "UP" or "DOWN"
    #Adjust how you decide net is UP/DOWN
    ip link show | egrep -q 'UP,LOWER_UP.* state UP'
    if [[ $? -eq 0 ]] ; then
        echo "UP"
    else
        echo "DOWN"
    fi
}
2
ответ дан 3 December 2019 в 07:20

С помощью кода это, кажется, работает:

$ ping www.google.fr 2>&1 > /dev/null | while read pong; do echo "$(date): $pong" ; done 2>&1 > ping_err.log
[no output]
$ cat ping_err.log

vie jul  5 15:56:09 -03 2019: ping: sendmsg: La red es inaccesible
vie jul  5 15:56:10 -03 2019: ping: sendmsg: La red es inaccesible
vie jul  5 15:56:11 -...
1
ответ дан 3 December 2019 в 07:20

Я немного расширил ответ @schrodigerscatcuriosity:

ping -i 10 -O -q 192.168.88.2 2>&1 | while read pong; do echo "$(date): $pong" ; done 2>&1 | tee ping_err.log
  • -i 10 подождите 10 секунд перед отправкой каждого пакета
  • -O для регистрации ожидающего ответа ICMP ECHO до отправка следующего пакета
  • -q для тихого вывода (кроме тайм-аутов)
  • | tee для одновременного вывода на консоль и в файл
1
ответ дан 26 November 2020 в 09:12

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

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