[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash EOF



El 7/07/07, manuelsspace-listas@yahoo.com
<manuelsspace-listas@yahoo.com> escribió:

----- Original Message ----

From: Manolet Gmail <manolet@gmail.com>

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







Reply to: