[gilug.org] Ping rapid en timeout

Narcis Garcia - GiLUG informatica actiu net
2009-11-07 22:31:06 UTC


"Nunca te acostarás ... sin saber una cosa más"
...i avuí com ahir n'he après una de ben bona gràcies a en Marc i en
Quim.

Els resultats de consultar al GiLUG estan a l'alçada del Google.

-----Missatge original-----
De: Quim Rovira <>
Reply-to: 
Per a: 
Assumpte: Re: [gilug.org] Ping rapid en timeout
Data: Sat, 7 Nov 2009 21:46:04 +0100

Salut!

Doncs no se pas on ho trobaràs documentat... suposo que a la pàgina de
man del bash mateix.

La sintaxi és simple, i força potent, ja que el que fa és redirigir una
de les sortides del programa (STDOUT o STDERR) a on li diguis tu. El
nombre 2 és la segona sortida del programa, que es correspon al STDERR,
mentre que el nombre 1 és la sortida estàndard STDOUT.

La redirecció de la sortida la pots fer:
 - Cap a un arxiu, per exemple fent "ping 1>ping.txt"
 - Ajuntar-ho cap a l'altre sortida (cal el símbol &, ja que si no el
poses, et crea un arxiu amb nom "1"). Un exemple seria "ping 2>&1".
 - També és molt usual redirigir una sortida que no t'interessi cap al
dispositiu /dev/null, que bàsicament el que fa és ignorar-ho (inclús
-per posar un exemple- es pot arribar a redirigir la sortida d'un
generador de PDFs directament al dispositiu del port USB corresponent, i
si la impressora suporta bé el format PDF, l'imprimirà :P)

Per això deia que la sol·lució del "fping ... 2>/dev/null" era millor,
perquè simplement envia els errors a la merda i et permet evitar-te
fer-hi un grep, i l'únic problema que pot haver-hi és que es produeixin
alguns altres errors que pogués interessar-te tenir i et passin
desapercebuts...
És una llàstima que alguns programes no respecten la sortida STDERR i
els errors els treuen per STDOUT igualment, obligant-te a fer greps i
més greps... :(


Pel que fa al que comentaves de la instrucció:
fping -a -r1 -t50 -q -g 192.168.1.0/24 2>&1 | grep -v "Host Unreachable"

Mira-ho així: l'error estàndard sempre passa fins al final sense tenir
en compte els empalmes de programes que fas amb "|" (si no m'equivoco,
vaja). El que estàs dient amb les conexions "|" és que la sortida
estàndard del primer programa passi a l'entrada estàndard del segon
programa. Però amb la instrucció que t'he passat, el que fem és el
següent:
 - la sortida d'error del fping, la conectem a la sortida estàndard (o
sigui, que anirà tot junt)
 - aquesta sortida estàndar del fping, que ara també te la sortida
d'error del programa, la conectem a l'entrada del grep
 - el grep filtrarà de tot aquest conglomerat els errors que sabem que
poden passar

Això de les redireccions, a més a més, és independent per cada tros de
la canonada que hem muntat (les redireccions que fem al fping no afecten
al grep), per tant, al final de tot de la comanda aquesta, podriem
posar-hi perfectament una redirecció a un arxiu ">arxiu.txt", quedant
així:
fping -a -r1 -t50 -q -g 192.168.1.0/24 2>&1 | grep -v "Host Unreachable"
> arxiu.txt

No sé si m'he allargat massa o si he repetit moltes coses que ja tens
sabudes, però no he trobat millor manera d'explicar-me... espero que si
més no serveixi d'ajuda i no et lii més! :)

Com a  detall adicional, diré que també es pot usar el símbol "<" per
passar alguna cosa a l'entrada estàndard del programa... jo això he vist
utilitzar-ho molt per exemple per restaurar bases de dades (fent "mysql
base_de_dades < copia_de_seguretat.sql"), tot i que per costum sempre
acabo ficant-hi un gat: "cat copia_de_seguretat.sql | mysql
base_de_dades". El que no tinc gens clar és que puguis posar-hi cap
altra cosa que no siguin arxius, i la sola ideia de conectar-li
l'entrada d'un programa a una seva sortida m'ha deixat molta estona amb
els ulls en blanc davant del PC..

Salut!


2009/11/7 Narcis Garcia - GiLUG <>
        Amb el què m'han explicat en faig prou.
        Tenia curiositat per la terminació "2>&1" de cares a d'altres
        programets
        Sh.
        
        -----Missatge original-----
        De: Eduard Barrera <>
        Reply-to: 
        Per a: 
        Assumpte: Re: [gilug.org] Ping rapid en timeout
        
        Data: Sat, 7 Nov 2009 12:47:09 +0100
        
        
        i no aniria millor utilitzar una aplicació del estil heartbeat i
        que
        l'script només es dediqui a processar els logs de l'apicació de
        heartbeat?
        
        
        > From: 
        > To: 
        > Date: Sat, 7 Nov 2009 09:02:03 +0100
        > Subject: Re: [gilug.org] Ping rapid en timeout
        >
        > Ostres, molt interessant això del "2>&1". Pots donar alguna
        referència
        > per a documentar-me i entendre-ho?
        >
        > El resultat d'aquesta instrucció es pot redirigir sencer a un
        fitxer?
        > fping -a -r1 -t50 -q -g 192.168.1.0/24 2>&1 | grep -v "Host
        Unreachable"
        >
        >
        > -----Missatge original-----
        > De: Quim Rovira <>
        > Reply-to: 
        > Per a: 
        > Assumpte: Re: [gilug.org] Ping rapid en timeout
        > Data: Fri, 6 Nov 2009 23:23:42 +0100
        >
        > Per això posava el "2>&1" a mitja comanda, per redirigir
        l'error a la
        > sortida estàndard, i després poder fer un grep :P
        > La segona opció: 2>/dev/null és la millor pq simplement es
        carrega
        > l'error...
        >
        >
        > 2009/11/6 Narcis Garcia - GiLUG <>
        > Amb grep no es filtren els missatges d'error. El què sí em
        > funciona és
        > dirigir la sortida a un fitxer:
        > fping -a -r1 -t50 -q -g 192.168.1.0/24 >/tmp/vius.txt
        > amb la qual cosa els errors surten al terminal i els encerts
        van
        > al
        > fitxer. Aleshores puc obtenir els encerts amb:
        > cat /tmp/vius.txt
        >
        >
        > -----Missatge original-----
        > De: Quim Rovira <>
        > Reply-to: 
        > Per a: 
        > Assumpte: Re: [gilug.org] Ping rapid en timeout
        >
        > Data: Fri, 6 Nov 2009 17:08:56 +0100
        >
        >
        > Si vols una bona solució de monitorització, et recomano que
        > utilitzis
        > algun software especialitzat com ara el Nagios [1].
        > Dic això, perquè no només té mòduls per comprovar si falla o
        no
        > la
        > conectivitat, sinó que amb ben poc esforç també permet
        > configurar mòduls
        > per fer estadístiques gràfiques de l'ús de la xarxa, els
        errors
        > de
        > conectivitat, etc.
        >
        > Tot això ell ja ho fa llençant les comprovacions com a
        processos
        > independents, i per això ja no te cap problema com el teu :)
        >
        >
        > I tal com diu eduard... tansols cal ficar-hi un grep per
        > eliminar els
        > que no contesten... com ara:
        > fping -a -r1 -t50 -q -g 10.10.0.0/24 2>&1 | grep -v "Host
        > Unreachable"
        > o directament rediriging la sortida d'error de la comanda
        > a /dev/null
        > fping -a -r1 -t50 -q -g 10.10.0.0/24 2>/dev/null
        >
        >
        > Salut!
        >
        > [1] http://www.nagios.org/
        >
        >
        > 2009/11/6 Narcis Garcia - GiLUG <>
        > Oh si, fantàstic, fping cal instal·lar-lo, però se li pot
        > especificar el
        > "timeout" en milisegons en comptes de segons:
        >
        > fping -r1 -t50 192.168.1.10
        >
        > He mirat també aquesta sintaxi per a què faci un
        > rastreig:
        > fping -a -r1 -t50 -q -g 192.168.1.0/24
        > ...però no hi ha manera d'evitar les línies de no
        > resposta.
        >
        >
        > -----Missatge original-----
        > De: Marc <>
        > Reply-to: 
        > Per a: 
        > Assumpte: Re: [gilug.org] Ping rapid en timeout
        >
        > Data: Fri, 6 Nov 2009 16:31:43 +0100
        >
        >
        > Pots provar fping [http://fping.sourceforge.net]
        > _______________________________________________
        > Llista del GiLUG
        > 
        > http://gilug.org/cgi-bin/mailman/listinfo/llista
        > * Tots els missatges queden publicats a:
        > http://gilug.org/pipermail/llista/
        >
        > _______________________________________________
        > Llista del GiLUG
        > 
        > http://gilug.org/cgi-bin/mailman/listinfo/llista
        > * Tots els missatges queden publicats a:
        > http://gilug.org/pipermail/llista/
        >
        >
        > _______________________________________________
        > Llista del GiLUG
        > 
        > http://gilug.org/cgi-bin/mailman/listinfo/llista
        > * Tots els missatges queden publicats a:
        > http://gilug.org/pipermail/llista/
        >
        > _______________________________________________
        > Llista del GiLUG
        > 
        > http://gilug.org/cgi-bin/mailman/listinfo/llista
        > * Tots els missatges queden publicats a:
        > http://gilug.org/pipermail/llista/
        >
        >
        > _______________________________________________
        > Llista del GiLUG
        > 
        > http://gilug.org/cgi-bin/mailman/listinfo/llista
        > * Tots els missatges queden publicats a:
        > http://gilug.org/pipermail/llista/
        >
        > _______________________________________________
        > Llista del GiLUG
        > 
        > http://gilug.org/cgi-bin/mailman/listinfo/llista
        > * Tots els missatges queden publicats a:
        > http://gilug.org/pipermail/llista/
        
        
        ________________________________________________________________________
        Date una vuelta por Sietes y conoce el pueblo de los expertos en
        Windows
        7
        _______________________________________________
        Llista del GiLUG
        
        http://gilug.org/cgi-bin/mailman/listinfo/llista
        * Tots els missatges queden publicats a:
        http://gilug.org/pipermail/llista/
        
        _______________________________________________
        Llista del GiLUG
        
        http://gilug.org/cgi-bin/mailman/listinfo/llista
        * Tots els missatges queden publicats a:
        http://gilug.org/pipermail/llista/
        

_______________________________________________
Llista del GiLUG

http://gilug.org/cgi-bin/mailman/listinfo/llista
* Tots els missatges queden publicats a:
http://gilug.org/pipermail/llista/




Més informació sobre la llista de correu gilug