[gilug.org] Ping rapid en timeout

Quim Rovira quim rovira gmail com
2009-11-07 20:46:04 UTC


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/
>
-------------- part següent --------------
Un document HTML ha estat eliminat...
URL: <https://llista.gilug.org/pipermail/usuaris/attachments/20091107/c2048809/attachment.htm>


Més informació sobre la llista de correu gilug