El 7/07/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> escribió:
----- Original Message ---- From: Manolet Gmail <[EMAIL PROTECTED]> To: Lista Debian-Español <debian-user-spanish@lists.debian.org> Sent: Saturday, July 7, 2007 8:38:09 PM Subject: bash EOF hola! ya es mi 3 mensaje hoy.... creo que es el ultimo para lograr lo que quiero, en realidad les agredesco mucho... veran, tengo un script en bash que sube un archivo por ftp.. quisiera saber si existe alguna forma de saber si el archivo si subio o no, el comando ftp crea un log? puedo explorar las respuestas del sistema luego del EoS ?... alguna idea? echo "subiendo $F :" ftp -nd <<End-of-Session open "$SERVER" user "$USERNAME" "$PASSWORD" prompt cd "$REMOTEDIR" lcd "$LOCALDIR" put "$F" "$F" bye End-of-Session shift echo "fichero subido con exito" -- Que tal Manolet Lo primero que puedes hacer es verificar si el ftp dio un mensaje con nivel 5xx ftp -nd >salida 2>&1 <<End-of-Session .. grep ^5[0-9][0-9] salida
hola, hice las pruebas colocando un ftp falso al que no se puede conectar. El archivo salida queda de la siguiente manera: ftp: connect: Connection refused Not connected. Interactive mode off. Not connected. Local directory now /home/manolo/abugaber/files Not connected. sin embargo con eso puedo usar grep para ver el error. Asi que hice esto: if grep "Connection refused" salida > /dev/null ; then echo -e "${rojo}${blanco}ERROR: ${NC}${blanco}No se puede conectar al servidor ${NC}" fi no se si sea lo mas idoneo pero me funciona bien, aunque ahora quisiera cambiar el if por un case, el problema es que no se como hacerle, en vez de usar grep uso cat?, existe alguna forma de usar las opciones del case bla)... ;; con expreciones regulares?. ~
Lo otro que puedes hacer es: 1.-Utilizar scp y verificar el resultado $? 2.-Utilizar lftp el cual te da un poco mas de valor 3.- Hacer un dir "$F" dentro del ftp y luego comparar los tamaños 4.- hacer ftp con un nombre temporal y luego renombrarlo con mv. Si funciona el mv terminó el put, eso lo sabras revisando la salida 5.- etc Suerte Manuel S