<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comentarios en: Los primeros scripts</title>
	<atom:link href="http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/feed/" rel="self" type="application/rss+xml" />
	<link>http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/</link>
	<description>¡Haz caso a tu conciencia!</description>
	<lastBuildDate>Tue, 27 Oct 2009 11:01:19 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: pepitogrillo</title>
		<link>http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-12</link>
		<dc:creator>pepitogrillo</dc:creator>
		<pubDate>Thu, 15 Jun 2006 22:56:11 +0000</pubDate>
		<guid isPermaLink="false">https://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-12</guid>
		<description>Por partes, lo de &#8220;the host is unreachable&#8221; me sale cuando la tarjeta est&#225; abajo (otro d&#237;a intentar&#233; que cuando est&#233; abajo la levante), cuando no recibe los paquetes no pone nada. El fallo est&#225; en mi tarjeta, pero a partir de ahora no me molestar&#225; tanto as&#237; que no la voy a tocar. He solucionado lo de que corra continuo, pero para mi problema me quedo con mi anterior opci&#243;n, de todos modos pongo aqu&#237; el script:

/#! /bin/bash
#hace el ping hasta que salga fallo, 192.18.0.4 es la ip del router
while ping -c 3 192.168.0.4 &gt; /dev/null;
do
ping -c 3 192.168.0.4 &gt; /dev/null;
done
#si sale fallo reinicia la tarjeta
ifdown ra0
ifup ra0
exit 0

La salida del script ejecutandolo con -x es:

+ ping -c 3 192.168.0.4
+ ping -c 3 192.168.0.4
+ ping -c 3 192.168.0.4
+ ifdown ra0
+ ifup ra0
+ exit 0

A pesar de no usar este script finalmente (al menos de momento) esta es la grandeza de linux, yo pongo una tonter&#237;a que se me ha ocurrido y alguien que lo lee (en este caso charlie, gracias), dice: &quot;oye, y si le pones esto para que te vaya mejor...&quot; Es impresionante.</description>
		<content:encoded><![CDATA[<p>Por partes, lo de &ldquo;the host is unreachable&rdquo; me sale cuando la tarjeta est&aacute; abajo (otro d&iacute;a intentar&eacute; que cuando est&eacute; abajo la levante), cuando no recibe los paquetes no pone nada. El fallo est&aacute; en mi tarjeta, pero a partir de ahora no me molestar&aacute; tanto as&iacute; que no la voy a tocar. He solucionado lo de que corra continuo, pero para mi problema me quedo con mi anterior opci&oacute;n, de todos modos pongo aqu&iacute; el script:</p>
<p>/#! /bin/bash<br />
#hace el ping hasta que salga fallo, 192.18.0.4 es la ip del router<br />
while ping -c 3 192.168.0.4 &gt; /dev/null;<br />
do<br />
ping -c 3 192.168.0.4 &gt; /dev/null;<br />
done<br />
#si sale fallo reinicia la tarjeta<br />
ifdown ra0<br />
ifup ra0<br />
exit 0</p>
<p>La salida del script ejecutandolo con -x es:</p>
<p>+ ping -c 3 192.168.0.4<br />
+ ping -c 3 192.168.0.4<br />
+ ping -c 3 192.168.0.4<br />
+ ifdown ra0<br />
+ ifup ra0<br />
+ exit 0</p>
<p>A pesar de no usar este script finalmente (al menos de momento) esta es la grandeza de linux, yo pongo una tonter&iacute;a que se me ha ocurrido y alguien que lo lee (en este caso charlie, gracias), dice: &quot;oye, y si le pones esto para que te vaya mejor&#8230;&quot; Es impresionante.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: charlie</title>
		<link>http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-11</link>
		<dc:creator>charlie</dc:creator>
		<pubDate>Thu, 15 Jun 2006 14:03:24 +0000</pubDate>
		<guid isPermaLink="false">https://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-11</guid>
		<description>Prueba a ponerlo en el init o lánzalo una vez con cron.

Solución bastante poco elegante (lo siento):

#!/bin/bash

bucle=0

while [ $bucle -lt 1 ]; do

  #ping de 3 paquetes al router

  ping -c 3 192.168.1.1 &gt; /dev/null

  # recoge el resultado; 1 si error, 0 si éxito

  if [ &quot;$?&quot; = &#039;1&#039; ]; then
    ifdown eth0
    ifup eth0
  fi

done

exit 0</description>
		<content:encoded><![CDATA[<p>Prueba a ponerlo en el init o lánzalo una vez con cron.</p>
<p>Solución bastante poco elegante (lo siento):</p>
<p>#!/bin/bash</p>
<p>bucle=0</p>
<p>while [ $bucle -lt 1 ]; do</p>
<p>  #ping de 3 paquetes al router</p>
<p>  ping -c 3 192.168.1.1 &gt; /dev/null</p>
<p>  # recoge el resultado; 1 si error, 0 si éxito</p>
<p>  if [ "$?" = '1' ]; then<br />
    ifdown eth0<br />
    ifup eth0<br />
  fi</p>
<p>done</p>
<p>exit 0</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: charlie</title>
		<link>http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-10</link>
		<dc:creator>charlie</dc:creator>
		<pubDate>Thu, 15 Jun 2006 13:52:51 +0000</pubDate>
		<guid isPermaLink="false">https://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-10</guid>
		<description>Bueno, he probado tu solución y parece correcta; aunque dado que no tengo fallos con la tarjeta no te lo puedo asegurar; lo que no si tirará bién es cuando no tengas conexión al router... supongo que te lo habrás mirado mejor que yo pero creo que si no lo encuentra dirá algo así como &quot;the host is unreachable&quot; en lugar de devolver un 1... ni idea. Voy a ver lo de que corra contínuo</description>
		<content:encoded><![CDATA[<p>Bueno, he probado tu solución y parece correcta; aunque dado que no tengo fallos con la tarjeta no te lo puedo asegurar; lo que no si tirará bién es cuando no tengas conexión al router&#8230; supongo que te lo habrás mirado mejor que yo pero creo que si no lo encuentra dirá algo así como &#8220;the host is unreachable&#8221; en lugar de devolver un 1&#8230; ni idea. Voy a ver lo de que corra contínuo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: charlie</title>
		<link>http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-9</link>
		<dc:creator>charlie</dc:creator>
		<pubDate>Thu, 15 Jun 2006 13:04:40 +0000</pubDate>
		<guid isPermaLink="false">https://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-9</guid>
		<description>xD sí que te has aburrido protico jeje. Lo probaré y miraré de hacer que se ejecute en background todo el tiempo; en c se podría hacer un while(1) pero en bash no se... quizá con la csh (la shell en c) se podría hacer algo similar. Cuando me aburra xD miraré de conseguirlo (no hace ni 6 meses tube que currarme prácticas de la uni en csh y ya lo he olvidado... el alcohol xD )

De todas maneras, casi que lo mejor sería que mirases el porqué de la caida de la conexión... ¿és la tarjeta o que tu proveedor te cambia la ip y tienes que renegociar? no creo que sea lo segundo porque casi ni te enterarias (excepto que los p2p se te reiniciarian).

Si es que tienes una tarjeta rara y los drivers no están muy afinados, quizá con ndiswrapper te funcionaría mejor. Voy a hacer un hueco y a probar el script (aunque a mí me rula bien la wifi)</description>
		<content:encoded><![CDATA[<p>xD sí que te has aburrido protico jeje. Lo probaré y miraré de hacer que se ejecute en background todo el tiempo; en c se podría hacer un while(1) pero en bash no se&#8230; quizá con la csh (la shell en c) se podría hacer algo similar. Cuando me aburra xD miraré de conseguirlo (no hace ni 6 meses tube que currarme prácticas de la uni en csh y ya lo he olvidado&#8230; el alcohol xD )</p>
<p>De todas maneras, casi que lo mejor sería que mirases el porqué de la caida de la conexión&#8230; ¿és la tarjeta o que tu proveedor te cambia la ip y tienes que renegociar? no creo que sea lo segundo porque casi ni te enterarias (excepto que los p2p se te reiniciarian).</p>
<p>Si es que tienes una tarjeta rara y los drivers no están muy afinados, quizá con ndiswrapper te funcionaría mejor. Voy a hacer un hueco y a probar el script (aunque a mí me rula bien la wifi)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: pepitogrillo</title>
		<link>http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-7</link>
		<dc:creator>pepitogrillo</dc:creator>
		<pubDate>Wed, 14 Jun 2006 21:23:33 +0000</pubDate>
		<guid isPermaLink="false">https://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-7</guid>
		<description>Vale, me he aburrido antes de lo que pensaba y he modificado significativamente el script, ahora queda as&#237;:

#!/bin/bash
#hace un ping de  tres paquetes al router
ping -c 3 192.168.0.4 &gt; /dev/null
#recoge el resultado: 1 = no recibe, 0 = recibe
if [ &quot;$?&quot; = 1 ]; then
# si no recibe los paquetes reinicia la tarjeta
ifdown ra0
ifup ra0
#sale del script
fi
exit 0

Creo que eso funcionar&#225;, aunque no lo he podido probar mucho, adem&#225;s he hecho que se ejecute cada 5 minutos a&#241;adiendo al crontab (/etc/crontab) la siguiente l&#237;nea:

*/5 *    * * *   root    /usr/bin/red</description>
		<content:encoded><![CDATA[<p>Vale, me he aburrido antes de lo que pensaba y he modificado significativamente el script, ahora queda as&iacute;:</p>
<p>#!/bin/bash<br />
#hace un ping de  tres paquetes al router<br />
ping -c 3 192.168.0.4 &gt; /dev/null<br />
#recoge el resultado: 1 = no recibe, 0 = recibe<br />
if [ &quot;$?&quot; = 1 ]; then<br />
# si no recibe los paquetes reinicia la tarjeta<br />
ifdown ra0<br />
ifup ra0<br />
#sale del script<br />
fi<br />
exit 0</p>
<p>Creo que eso funcionar&aacute;, aunque no lo he podido probar mucho, adem&aacute;s he hecho que se ejecute cada 5 minutos a&ntilde;adiendo al crontab (/etc/crontab) la siguiente l&iacute;nea:</p>
<p>*/5 *    * * *   root    /usr/bin/red</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: pepitogrillo</title>
		<link>http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-5</link>
		<dc:creator>pepitogrillo</dc:creator>
		<pubDate>Wed, 14 Jun 2006 16:40:05 +0000</pubDate>
		<guid isPermaLink="false">https://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-5</guid>
		<description>Hola, gracias por tu idea, tendré que estudiar lo del loopback, quizás haciendo ping al router, no me fio de hacerlo a una dirección externa porque tendrías que ver como tengo las conexiones en mi casa, router wifi para la red, router de un puerto como puerta de enlace (que falla más que una escopeta de feria), cuando me aburra un rato ya miraré algo de eso.

Un saludo!</description>
		<content:encoded><![CDATA[<p>Hola, gracias por tu idea, tendré que estudiar lo del loopback, quizás haciendo ping al router, no me fio de hacerlo a una dirección externa porque tendrías que ver como tengo las conexiones en mi casa, router wifi para la red, router de un puerto como puerta de enlace (que falla más que una escopeta de feria), cuando me aburra un rato ya miraré algo de eso.</p>
<p>Un saludo!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: charlie</title>
		<link>http://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-3</link>
		<dc:creator>charlie</dc:creator>
		<pubDate>Wed, 14 Jun 2006 14:50:00 +0000</pubDate>
		<guid isPermaLink="false">https://pepitogrillo.wordpress.com/2006/06/14/los-primeros-scripts-de-bash/#comment-3</guid>
		<description>Hey saludos compadre en novilladas de Ubuntu xD

Veo que te vas buscando la vida tu sólo (a todos los novatos nos toca currárnoslo xC ) pero, y desde mi falta de experiéncia, me gustaría darte alguna idea.

Por lo que veo, tu script hay que lanzarlo cuando ha fallado la tarjeta, pero... ¿porqué no hacer que funcione siempre?

Podrías hacer algún ping a por ejemplo google (quizá al loopback funcionaría, no sé), y cuando no consiga enviar datos, que haga ese down-up; si consigues que eso funcione, lo endiñas en el init para que esté siempre rulando en backgroud y así te reiniciará la tarjetilla en cuanto falle; y si lo consigues cuelga la recetilla por aquí que haré un copy&amp;paste jeje.

Que vaya bien!</description>
		<content:encoded><![CDATA[<p>Hey saludos compadre en novilladas de Ubuntu xD</p>
<p>Veo que te vas buscando la vida tu sólo (a todos los novatos nos toca currárnoslo xC ) pero, y desde mi falta de experiéncia, me gustaría darte alguna idea.</p>
<p>Por lo que veo, tu script hay que lanzarlo cuando ha fallado la tarjeta, pero&#8230; ¿porqué no hacer que funcione siempre?</p>
<p>Podrías hacer algún ping a por ejemplo google (quizá al loopback funcionaría, no sé), y cuando no consiga enviar datos, que haga ese down-up; si consigues que eso funcione, lo endiñas en el init para que esté siempre rulando en backgroud y así te reiniciará la tarjetilla en cuanto falle; y si lo consigues cuelga la recetilla por aquí que haré un copy&amp;paste jeje.</p>
<p>Que vaya bien!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
