Sin lugar a dudas para cosas serias se debe utilizar rsync pero cuando tienes un equipo poco accesible y necesitas mover los ficheros de un directorio a un servidor FTP, esta porción de código puede resultar útil:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import glob
import os
import string
from ftplib import FTP
#Path donde se encuentran los ficheros
rutaFicheiros = ?/home/jose/Documentos/*?
#Parametros de la conexion
ipServFTP = ?194.224.52.4?
ftpUser = ?jose?
ftpPasswd = ?mypasswdRocks?
ftpDir = ?/Backups/Documentos?
def atopaFicheiros(ruta):
?'?
Lista todos los ficheros de una ruta dada y devuelve
una lista con todos los paths absolutos.
?'?
listadoPaths = []
if len(ruta) > 0:
listadoPaths = glob.glob(ruta)
else:
pass
return listadoPaths
def subeFicheirosFTP(ip,usuario,passwd,directorio,ficheiros):
?'?
Sube un listado de ficheros dado a un directorio de un
servidor ftp remoto.
?'?
print ?Estableciendo conexion??
conexion = FTP(ip)
conexion.login(usuario,passwd)
conexion.cwd(directorio)
print ?Subiendo ficheiros??
for i in ficheiros:
try:
ficheiroLocal = open(i,?rb?)
nomeFicheiro = string.split(i,?/')[1:]
conexion.storbinary(?STOR ? + nomeFicheiro, ficheiroLocal, 1024)
ficheiroLocal.close()
pipe = os.popen(?rm ?? + i +???)
except:
print ?Non se puido subi-lo arquivo ? + i
conexion.close()
conexion = FTP(ip)
conexion.login(usuario,passwd)
conexion.cwd(directorio)
print ?Conexion re-establecida?
conexion.close()
if __name__ == ?__main__?:
listaXmls = atopaFicheiros(rutaFicheirosXML)
subeFicheirosFTP(ipServFTP,ftpUser,ftpPasswd,ftpDir,listaXmls)
No hay comentarios:
Publicar un comentario