🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #6581

Re: script para automatizar envio de informacion a una web

#6581
From: Iván Sánchez Ortega
Date: Fri, 06 Jun 2003 14:29
102 lines
4938 bytes
Carlos Mario Mora (c4y0) wrote:

> De manera manual yo haria esto:  cada que arranque mi debian, me fijo que
> ip tengo, coloco dicha ip en el index.htm para actualizar el famoso link,
> y por ultimo actualizo mygueb.org.
> 
> Puede hacerse esto de manera automatica?  o sea que debian solito capture
> la info de mi IP, la incluya en el link en cuestion del index.htm, se
> conecte por ftp a mygueb.org y actualize??????

Ser�a algo m�s o menos as� en el lado del ordenador con IP variable (ojo, lo
he hecho en cinco minutos y no puedo garantizar que funcione bien):

<?

$interfaz="ppp0";

// Ejecuto ifconfig para saber mi IP
$resultado = shell_exec("ifconfig $interfaz");

// Parseo el resultado
$resultado1 = explode("addr:",$resultado);
$resultado = $resultado1[1];   // Me quedo con la parte de despu�s de "addr:

$resultado1 = explode(" ",$resultado);
$mi_ip= $resultado1[0];   // Me quedo con la parte de antes del primer
espacio


// Y se lo digo al servidor
$f=fopen("http://www.miservidor.com/notificacion_online.php?ip=$mi_ip","r");

fclose($f);
?>

Pones todo eso en un .php y lo ejecutas al arrancar (script en /etc/init.d,
linkado a /etc/rc2.d si tu runlevel por defecto es 2)

Por otro lado, el servidor es quien deber�a generar el index.htm por su
cuenta. Una manera muy, MUY cutre de hacerlo ser�a m�s o menos as�: pones
en /var/www/notificacion_online.php lo siguiente:

<?

// Abro index.html para escritura
$f = fopen("index.html","w");

fwrite ($fm,"<html><head> ........
.......
.......
.......
.......
<a href=http://$mi_ip/index.html>Mi otro ordenador</a>
.......
.......
.......
.......
");

fclose($f);

?>


> En caso de que todo esto sea posible, que tan viable es hacer que
> mygueb.org tambien tenga su programita para revizar las
> actualizaciones????

Esa es precisamente la idea, el servidor RECIBE notificaciones cuando los
ordenadores con IP variable. El c�mo hacer que todo esto funcione para
muchos ordenadores requiere algo m�s de destreza y planificaci�n
(organizarl las IPs y ordenadores en una BDD, llevar control de la
actualizaci�n, temas de seguridad, etc etc)

> Para este caso la idea seria algo asi como:  un programita o un script o
> lo que sea que se ejecute ininterrupidamente en el servidor.

Mejor con un cron, cada hora o cada diez minutos o algo as�.

>  Este 
> "demonio" haria lo siguiente:  hace un ping a la direccion que aparezca en 
> el citado link (osease, a mi maquina).  Si dicho ping obtiene respuesta, 
> pues no hace nada mas, pero si el ping no recibe respuesta alguna de mi 
> maquina, nuestro demonio cambiara el link para rediririlo a una pagina 
> predise�ada.
> (la idea es que si mi maquina no esta en internet, no se quede buscandola,
> sino que monte una paginita sencilla ya hecha que dira "En este momento la
> maquina de c4y0 no esta en servicio, pero puedes consultarnos aqui". y
> mostraria las paginas que tengo alla en el servidor de mygueb.org).

Claro que es posible. Pero necesitas algo m�s de complejidad ah�. Te
recomendar�a hacer la p�gina donde aparezzca el link din�mica (incluso
convertir ese linke n un m�dulo propio), para ahorrarte duplicar c�digo por
todos sitios. Y ya te digo, el control de ese m�dulo requiere algo de
planificaci�n.

-- 
----------------------------------
Iv�n S�nchez Ortega -ivansanchez-arroba-escomposlinux-punto-org

Un ordenador no es un televisor ni un microondas, es una herramienta
compleja.
Technical Details
Message-ID: <20030606142959.597BF751.NOFFLE@BlackSpark.local>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!newshosting.com!news-xfer1.atl.newshosting.com!diablo.voicenet.com!newsfeed.hal-mli.net!feeder1.hal-mli.net!antonio.escomposlinux.org!cernicalo.escomposlinux.org!tramontana.escomposlinux.org!pinsa.escomposlinux.org!not-for-mail
References: <Xns939258459D37Ecayoworldemailorg@130.133.1.4>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,d278ded5a0b1c584
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-06-06 07:33:01 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!newshosting.com!news-xfer1.atl.newshosting.com!diablo.voicenet.com!newsfeed.hal-mli.net!feeder1.hal-mli.net!antonio.escomposlinux.org!cernicalo.escomposlinux.org!tramontana.escomposlinux.org!pinsa.escomposlinux.org!not-for-mail
From: Iván Sánchez Ortega <ivansanchez-@rroba-escomposlinux-.punto.-org>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: script para automatizar envio de informacion a una web
Date: Fri, 06 Jun 2003 16:29:59 +0200
Organization: acm.asoc.fi.upm.es
Lines: 102
Message-ID: <20030606142959.597BF751.NOFFLE@BlackSpark.local>
References: <Xns939258459D37Ecayoworldemailorg@130.133.1.4>
Reply-To: Iván Sánchez Ortega <ivansanchez-@rroba-escomposlinux-.punto.-org>
NNTP-Posting-Host: 62-37-146-248.dialup.uni2.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8Bit
X-Trace: pinsa.escomposlinux.org 1054909976 18398 62.37.146.248 (6 Jun 2003 14:32:56 GMT)
X-Complaints-To: newsmaster@pinsa.escomposlinux.org
NNTP-Posting-Date: Fri, 6 Jun 2003 14:32:56 +0000 (UTC)
User-Agent: KNode/0.7.2