Unix - FTP preguntar si existe traer archivo

 
Vista:

FTP preguntar si existe traer archivo

Publicado por kinetic_brain (3 intervenciones) el 23/07/2009 22:17:22
Hola foro

Tengo este scrip para tomar el archivo cc.txt de la ip xx.xxx.xxx.xxx y lo deja en el directorio $DIR, como puedo preguntar si existe el cc.txt tome el archivo o si no lo realice el ftp ???

echo "user xxx yyyy" > tmp/ftp.txt
echo "lcd $DIR/" >>tmp/ftp.txt
echo "bin" >>tmp/ftp.txt
echo "get cc.txt" >>tmp/ftp.txt
echo "by" >>tmp/ftp.txt
ftp -n -i xx.xxx.xxx.xxx < tmp/ftp.txt
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:FTP preguntar si existe traer archivo

Publicado por barnarasta (2 intervenciones) el 04/08/2009 19:11:08
Para saber si existe un archivo puedes usar este codigo:

*********************************************************
ARCHIVO='nombrearchivoabuscar'

if [ -f $ARCHIVO]
then
echo ' SI EXISTE'
else
echo 'NO EXISTE'
fi
********************************************************
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FTP preguntar si existe traer archivo

Publicado por Antoni Masana (21 intervenciones) el 05/08/2009 08:25:28
Lo siento barnarasta pero el problema no es este.

Lo que quiere saber kinetic_brain es si desde los comandos del FTP se puede validar la existencia de un fichero antes de hacer el GET. Seria algo asi como:

echo "user xxx yyyy" > tmp/ftp.txt
echo "lcd $DIR/" >>tmp/ftp.txt
echo "bin" >>tmp/ftp.txt
echo "[ -f cc.txt ] && get cc.txt" >>tmp/ftp.txt
echo "by" >>tmp/ftp.txt

ftp -n -i xx.xxx.xxx.xxx < tmp/ftp.txt

Solo que esto no funcina.

Que yo sepa no se puede hacer la validación dentro del FTP.

Planteo dos soluciones.

1.- hacer el FTP direccionando la salida de error a nulo y posteriormente (una vez finalizado el FTP) validar si existe el fichero

2.- Hacer un primer FTP direccionando la salida a un fichero, cambiar el GET por un DIR o LS para que muestre el fichero si existe. Validar si el nombre del fichero esta en el output y si existe hacer un FTP para leerlo.

Para mi gusto la primera opcion es mucho mas simple.

Saludos



Lo que pasa es que esto no f
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FTP preguntar si existe traer archivo

Publicado por barnarasta (2 intervenciones) el 05/08/2009 13:47:07
Comparto la idea (1) de Antoni Masana, creo sera lo mas practico:

Realizar el ftp ( get ) >/tmp/ftpcopia.log
Si el archivo existe en local es que lo importo correctamente, si no existe en local podemos ver lo ocurrido en el ftpcopia.log
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar