Script de teste se o host estiver on-line novamente

2

Por exemplo sistema: Ubuntu / Debian.

Como muitos de vocês fazem isso provavelmente via ping e um terminal, eu sempre esqueço esse terminal quando mudo para outra tarefa. Então, um pop-up de notificação seria útil. Então, posso fazer melhor assim?

while; do
  if ping -c 1 your.host.com; expr $? = 0; then
     notify-send "your.host.com back online"; sleep 30s;
  else
     sleep 30s;
  fi;
done

Você precisará do zsh e do libnotify para deixar o trecho de código funcionar. Como script:

#!/usr/bin/env zsh
while; do if ping -c 1 $1; expr $? = 0; then notify-send "$1 back online"; sleep 30s; else sleep 30s; fi; done
    
por math 15.10.2010 / 09:21

1 resposta

2

A ideia parece certa para mim. Usando while :; do ... , você pode torná-lo portátil para os shells normais de Bourne. As chamadas expr parecem desnecessárias. Além disso, você provavelmente desejará sair do loop quando o host for encontrado.

while :; do
    if ping -c 1 $1; then
        notify-send "$1 back online"
        break
    fi
    sleep 30s
done
    
por 25.12.2010 / 12:08