Script Bash que verifica si estas conectado

Post Reply
Message
Author
m0li
Posts: 8
Joined: Tue 18 Sep 2012, 02:26

Script Bash que verifica si estas conectado

#1 Post by m0li »

Code: Select all

#!/usr/local/bin/bash 
#Detecta si alguna conección está up, sino la baja y activa nuevamente, cada 45m (como root)
#by m0li
#Licence BSD
#Versión 1.0

function root () {

WHO="`whoami`"

    if [ $WHO != "root" ]; then
        echo "Necesitas ser root"
        exit 1
    fi
}

function Try () {
   root
   if [ $(ping "www.google.com") -e " " ]; then
       ifconfig down
       ifconfig up
   else
       break
   fi
   }
   
   function DO () {
    Try ; sleep 45m; Try 
}
DO
Para los usuarios GNU/Linux, editar la primera línea así:

Code: Select all

#!/bin/bash
o en el PATH donde tengan a Bash.

Saludos

P.D: Si funciona adecuadamente.

m0li

User avatar
GustavoYz
Posts: 883
Joined: Wed 07 Jul 2010, 05:11
Location: .ar

#2 Post by GustavoYz »

Está bueno...
Yo uso una función en la notebook para eso mismo, que como comando sería más o menos así:

Code: Select all

(wget -qO- ip.nu | grep Y | awk '{print $5}') || for i in $(ip link show | grep 'eth[[:digit:]]\|wlan[[:digit:]]' | awk -F: '{print $2}' | xargs); do ifconfig $i down && ifconfig $i up; done
Si estoy conectado me dice mi IP y si no, intenta `ifconfig down && ifconfig up` para todas (dos en mi caso) las interfaces de red.

Sin embargo, la mayoría del tiempo con un "ping algo.algo" me alcanza. :D

mama21mama

#3 Post by mama21mama »

GustavoYz wrote:Está bueno...
Yo uso una función en la notebook para eso mismo, que como comando sería más o menos así:

Code: Select all

(wget -qO- ip.nu | grep Y | awk '{print $5}') || for i in $(ip link show | grep 'eth[[:digit:]]\|wlan[[:digit:]]' | awk -F: '{print $2}' | xargs); do ifconfig $i down && ifconfig $i up; done
Si estoy conectado me dice mi IP y si no, intenta `ifconfig down && ifconfig up` para todas (dos en mi caso) las interfaces de red.

Sin embargo, la mayoría del tiempo con un "ping algo.algo" me alcanza. :D
podes hacer mas chico este script con

Code: Select all

curl queip.tk/ip

mama21mama

#4 Post by mama21mama »

A ver este
Attachments
up.sh.gz
renombrar a up.sh
(961 Bytes) Downloaded 578 times

User avatar
GustavoYz
Posts: 883
Joined: Wed 07 Jul 2010, 05:11
Location: .ar

#5 Post by GustavoYz »

mama21mama wrote:
GustavoYz wrote:Está bueno...
Yo uso una función en la notebook para eso mismo, que como comando sería más o menos así:

Code: Select all

(wget -qO- ip.nu | grep Y | awk '{print $5}') || for i in $(ip link show | grep 'eth[[:digit:]]\|wlan[[:digit:]]' | awk -F: '{print $2}' | xargs); do ifconfig $i down && ifconfig $i up; done
Si estoy conectado me dice mi IP y si no, intenta `ifconfig down && ifconfig up` para todas (dos en mi caso) las interfaces de red.

Sin embargo, la mayoría del tiempo con un "ping algo.algo" me alcanza. :D
podes hacer mas chico este script con

Code: Select all

curl queip.tk/ip
Sep... con todo lo demás atrás. :roll:
* De paso corrije el 'grep overload'. :lol:

Post Reply