Me olvidaba, no puedo tocar la configuracion del ftp yy la idea es que nadie tenga que configurar sus profile ni nada, tan solo que lo haga todo con un comando.
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

