script ssh

Maximiliano Federico Osorio Banados mosorio en inf.utfsm.cl
Mie Ene 29 18:46:09 CLST 2014



----- Mensaje original -----
> De: "Maximiliano Federico Osorio Banados" <mosorio en inf.utfsm.cl>
> Para: "Discusion de Linux en Castellano" <linux en listas.inf.utfsm.cl>
> Enviados: Miércoles, 29 de Enero 2014 18:45:52
> Asunto: Re: script ssh
> 
> 
> 
> ----- Mensaje original -----
> > De: "d°t°b" <xugnip en gmail.com>
> > Para: "Discusion de Linux en Castellano" <linux en listas.inf.utfsm.cl>
> > Enviados: Miércoles, 29 de Enero 2014 18:41:53
> > Asunto: Re: script ssh
> > 
> > Parece prometedor... le dare algunas vueltas haber si consigo sacar
> > algo en limpio.
> > 
> > Gracias!
> > 
> > El 29/01/14 22:22, Héctor Herrera escribió:
> > > Expect puede ser tu alternativa. Crea una shell en expect que se
> > > conecte a la otra máquina.
> > > 
> > > http://www.tcl.tk/man/expect5.31/expect.1.html
> > > 
> > > Saludos
> > > 
> > > 
> > > El 29 de enero de 2014, 18:19, d°t°b <xugnip en gmail.com> escribió:
> > > 
> > >> Tambien pense en un crontab, pero... la maquina se conectaria
> > >> cada vez de nuevo, o me equivoco? Yo solo necesito que lo intente
> > >> hasta que consiga conectarse. Despues solo debe detenerse.
> > >> 
> > >> El 29/01/14 22:11, Camilo Astete escribió:
> > >>> Un crontab que ejecute el script cada una hora, es una
> > >>> alternativa
> > >> sencilla
> > >>> y eficiente.
> > >>> 
> > >>> 
> > >>> Saludos.
> > >>> 
> > >>> 
> > >>> El 29 de enero de 2014, 18:09, Juan C. Olivares
> > >>> <juancri en juancri.com escribió:
> > >>> 
> > >>>> Hola
> > >>>> 
> > >>>> Qué pasaría en el caso de que no logre conectarse? On Jan 29,
> > >>>> 2014 6:06 PM, "d°t°b" <xugnip en gmail.com> wrote:
> > >>>> 
> > >>>>> Hola,
> > >>>>> 
> > >>>>> he buscado en internet y quizas he hecho las consultas
> > >>>>> equivocadas,
> > >> pero
> > >>>>> muy poco he encontrado y nada de ello me ha ayudado.
> > >>>>> 
> > >>>>> La cuestion es simple, pero ironicamente al parecer a nadie
> > >>>>> le ha importado y nadie ha escrito/programado algo
> > >>>>> parecido.
> > >>>>> 
> > >>>>> Tengo 2 PCs y quiero que uno de ellos (siempre el mismo)
> > >>>>> intente conectarse al otro via ssh de forma automatica cada
> > >>>>> 1 hora (como si fuera demonio) y tan pronto consiga
> > >>>>> conectarse el script se detenga.
> > >>>>> 
> > >>>>> No entiendo de lenguaje de programacion bash (ni ningun
> > >>>>> otro), pero supongo que la idea basica seria:
> > >>>>> 
> > >>>>> while a=0 then { ssh a en 192.x.y.z if ssh connected then a=1
> > >>>>> sleep 3600 }
> > >>>>> 
> > >>>>> Alguien podria ayudarme con esto?
> > >>>>> 
> > >>>>> Saludos
> > >>>>> 
> > >>>> 
> > >>> 
> > >>> 
> > >>> 
> > >> 
> > >> 
> > > 
> > > 
> > 
> > 
> 
> 
No es la solución mas elegante pero sirve

#!/bin/sh

while true; do
        ssh  -q $server -l $user exit
        if [ $? -eq 0 ]; then
                exit
        fi
        echo "retry"  
        sleep 1
done

Saludos


Más información sobre la lista de distribución Linux