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 <[email protected]> > El Thu, 26 Aug 2010 21:47:52 -0300 > Rino Rondan <[email protected]> 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 > > > -- > To UNSUBSCRIBE, email to > [email protected] > with a subject of "unsubscribe". Trouble? Contact > [email protected] > Archive: http://lists.debian.org/20100827122716.67325...@x32 > > > > > -- > Viva La Santa Federacion!! > Mueran Los Salvages Unitarios!! > ^^^Transcripcion de la epoca ^^^ > http://www.rinorondan.com.ar > http://counter.li.org Linux User -> #517918 > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

