[ubuntu-ar] Automatizar subidas ftp

Maykel Franco Hernández maykel at maykel.es
Thu Apr 29 14:33:23 BST 2010


On Thu, 29 Apr 2010 09:31:15 -0300, Juan Rodríguez Monti
<juanrodriguezmonti en gmail.com> wrote:
> El día 29 de abril de 2010 09:18, Marcelo Fernandez
> <marcelo.fidel.fernandez en gmail.com> escribió:
>> El día 29 de abril de 2010 06:56, Maykel Franco Hernández
>> <maykel en maykel.es> escribió:
>>> Hola muy buenas, estoy buscando la manera de automatizar la tarea de
>>> subir
>>> por ejemplo un directorio a un ftp externo pudiendo ser programado
>>> mediante el dia, la hora, etc. Estoy buscando algún cliente de tipo
>>> consola como el ftp, atftp, o el lftp pero en todos te tienes que
>>> loguear
>>> y entrar en la sesion y luego ejecutar el comando. Cómo podría hacer
>>> esto?? Y luego cómo podría ver el log de si se ha subido bien, ha
>>> tenido
>>> errores...Etc etc un saludo y gracias por anticipado. No obstante,
>>> seguiré
>>> probando y mirando por google.
>>
>> El comando ftp de Linux/Unix puede utilizar un archivo llamado .netrc
>> en el home del usuario que ejecuta el comando ftp. En este archivo se
>> coloca primero el host, el usuario y la contraseña y listo; cuando te
>> conectes a un host que esté en el .netrc, usará la información de
>> login de allí. Esto lo combinás con el parámetro "-i" para que no te
>> muestre el prompt adentro de un script de shell y todo debería
>> funcionar automágicamente como vos querés.
>>
>> http://digilux.es/comunicaciones/automatizacion-de-ftp-con-netrc/
>>
>> De todas maneras, si podés evitar el protocolo FTP para hacer las
>> copias, mejor. Sugiero rsync o scp al menos, tal como dijo Juan Pablo.
> 
> En resumen; como dijimos: Python/PHP o ncftp o ftp o rsync, todos en
> un crontab.
> 
> Pero termina siendo en base a qué necesitás, si el otro server es
> tuyo, si es un dedicado, etc.
> 
> Juan

Al final lo he hecho creando un archivo ftp.conf donde guardo la conexion:

open ftp://usuario:contrseña@ip
mirror -R directorio
exit

Y luego le llamo con script, el script.sh contiene:

lftp -f ftp.conf

El unico problema, es que tengo que tener los archivos ftp.conf y el
script.sh en el directorio home del usuario
y el directorio que quiero subir con mirror tiene que estar en el home
tambien del usuario o bien tener ahi un enlace
simbolico. NOTA: Me estoy refiriendo para programarlo con crontab. Para
programarlo con crontab, sino está todos los archivos
en el mismo directorio no funciona. Al menos a mí, alguien sabe porque??
-- 
Maykel Franco Dto. Sistemas
Intentando aprender dia a dia más y más!!



More information about the Ubuntu-ar mailing list