El 30 de agosto de 2010 21:30, Juan Marcos Delgado Alcantar <
juanm...@gmail.com> escribió:

> El Sat, 28 Aug 2010 02:04:17 -0300, Rino Rondan escribió:
>
> > Es que no hay python.... :( no es un entorno donde pueda instalar nada..
> > es hacer conlo que hay lo que se pueda ... igual tengo que probar porque
> > me agarro la duda con expect cuando mando un send \" `ls -la`\r\"
> >
> > todo lo que ejecute con esas comillas o con $(ls -la ) lo resuelve
> > primero de donde se ejecuta y no manda el comando al equipo remoto.. asi
> > que voy a tener que leer la documentacion de como funciona bien el
> > send.. pero si alguno ya paso por esto..
> >
> > 2010/8/27 Angel Claudio Alvarez <an...@angel-alvarez.com.ar>
> >
> >> El vie, 27-08-2010 a las 08:32 -0300, Rino Rondan escribió:
> >> > Buenas:
> >> >
> >> > Me conecto con llaves o con ssh pero no todos tienen instalada las
> >> > llaves.
> >> > La idea es desde un servidor conectarse remotamente a otro servidor,
> >> > correr un programa, este me genera una archivo, lo tengo que
> >> > renombrar luego lo tengo que enviar por ftp.
> >> > Con ssh no me lo plantee porque tiene que ser totalmente interactivo
> >> > yaque no todos tienen llaves.
> >> > Pero acepto otras soluciones :=)
> >> >
> >> >
> >> python y su modulos pexpect
> >> (hacerlo en bash es un dolor testicular)
> >>
> >> > Saludos
> >> >
> >> > 2010/8/27 AngelD <ang...@froga.net>
> >> >         El Thu, 26 Aug 2010 21:47:52 -0300
> >> >         Rino Rondan <villadalm...@gmail.com> escribió:
> >> >
> >> >
> >> >         > Buenas:
> >> >         >
> >> >         > Tengo este  script del expect
> >> >         >
> >> >         > #!/bin/bash
> >> >         > HOST=$1
> >> >         > USER=$2
> >> >         > PASS=$3
> >> >         >
> >> >         > VAR=$(expect -c "
> >> >         > #set timeout -1
> >> >         > spawn ssh $u...@$host
> >> >         > expect \"*?assword:*\"
> >> >         > send -- \"$PASS\r\"
> >> >         > expect \"$ \"
> >> >         > #send -- \"\r\"
> >> >         > send \"sudo su -\r\"
> >> >         > expect \"$ \"
> >> >         > send \"cd /var/tmp/xxx/xxxgrab\r\"
> >> >         > expect \"$ \"
> >> >         > send \"/usr/bin/bash\r\"
> >> >         > expect \"$ \"
> >> >         > send \"cd outputs\r\"
> >> >         > expect \"$ \"
> >> >         > #send \" ls -la|head -1\r\"
> >> >         > send \"cp  `ls -ls |sort -nr -k 7 -k 8 |awk '{print $10}'|
> >> >         head -1`
> >> >         > rino\r\" #send \"cp $(ls -ls |sort -nr -k 7 -k 8 |awk
> >> >         '{print
> >> >         > $10}'|head -1 rino\r\" expect \"$ \"
> >> >         > send \"exit\r\"
> >> >         > ")
> >> >         > echo "=======RUN========"
> >> >         > echo "$VAR"
> >> >         >
> >> >         >
> >> >         > y lo que me hace es me trae (el ls) lo que hay en el equipo
> >> >         donde
> >> >         > tire el expect y no donde me acabo de conectar por ssh.
> >> >         >
> >> >         > la salida es
> >> >         >
> >> >         > xxxx:# cd /var/tmp/emc/emcgrab
> >> >         > xxx:# /usr/bin/bash
> >> >         > xxx:# cd outputs
> >> >         > xxx:# cp  grabtesting  rino
> >> >         > cp: cannot access grabtesting
> >> >         > xxx:#
> >> >         > cx...@xxx:/xxxhome/cxxxxx/bin %
> >> >         >
> >> >         > y ese grabtesting lo tengo en mi home directory desde donde
> >> >         ejecute
> >> >         > el grab.
> >> >         >
> >> >         > c...@xxx:/xxxhome/cxxxxx/bin % ls -la grab* -rwxr-----   1
> >> >         > cxxxxx   whsysadm     597 Aug 26 17:31
> >> >         grabtesting
> >> >         > cxx...@xxxxxx:/xxxhome/cxxxxx/bin %
> >> >         >
> >> >         > La idea es que al conectarme por ssh al equipo remoto entre
> >> >         a un
> >> >         > directorio, filtro para buscar justo el archivo que quiero
> >> >         > y
> >> >         luego
> >> >         > poder copiarlo asi lo renombro, para luego enviar ese
> >> >         archivo a un
> >> >         > ftp, asi que tambien tendria que guardar el nuevo nombre un
> >> >         una
> >> >         > variable para que cuando lo suba al ftp le ponga ese valor.
> >> >         > se entiende??
> >> >         > en el mismo proceso que invoco en la variable VAR 1
> >> >         > conectarme por ssh
> >> >         > 2 ir al path correspondiente
> >> >         > 3 obtener y copiar un file con otro nombre 4 obtener ese
> >> >         > file nuevo y guardarlo en una variable para
> >> >         que lo use
> >> >         > expect 5 conectarme por ftp
> >> >         > 6 enviarlo el archivo guardado en la varia ble al ftp
> >> >         >
> >> >         > Me quedo sin saber como hacer el paso 3 porque me devuelve
> >> >         otra cosa,
> >> >         > despues nose como sera para guardar la variable.. porque
> >> >         > tam
> >> >         bien me
> >> >         > toma todo como si fuera el equipo que ejecute el script.
> >> >
> >> >
> >> >                Vayamos por partes. ¿Intentas utilizar expect para
> >> >         conectarte a
> >> >         una máquina por ssh?. Porque eso ya lo hace el propio ssh con
> >> >         las
> >> >         claves del fichero '~/.ssh/authorized_keys'. Una vez
> >> >         realizado esto,
> >> >         todo lo que comentas creo que se puede realizar utilizando
> >> >         "ssh MACHINE
> >> >         comando". ¡Incluso se puede automatizar el ftp con el fichero
> >> >         '.netrc'!
> >> >
> >> >                Lo de guardar ficheros en variables es un poco bruto,
> >> >         sobre
> >> >         todo cuando es innecesario.
> >> >
> >> >                saludos --- Angel
>
> Yo use esta guía para crear un comando para apagar un servidor local. A
> lo mejor te sirve, si te interesa te mando el programa autoexpect, que ya
> no esta disponible en el enlace.
>
> http://infolinux.wordpress.com/2007/10/27/automatiza-tus-tareas-en-linux-
> sin-saber-programar/<http://infolinux.wordpress.com/2007/10/27/automatiza-tus-tareas-en-linux-%0Asin-saber-programar/>
>
> Suerte.
>
> --
> Marcos Delgado
>
>
> --
> To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmas...@lists.debian.org
> Archive: http://lists.debian.org/i5h0si$qr...@dough.gmane.org
>
>
http://www.serverwatch.com/tutorials/article.php/3883871/Automation-With-Expect-an-Open-Source-Software-Utility.htm

Saludos

Responder a