viernes, 31 de julio de 2009

Haciendo respaldos automaticos, parte II

Siguiendo con este post.

como no cacho mucho python , ese lo desarrolle en python 2.5, pero un compañero trato de ejecutarlo en 3.1 y no funciono, al perecen en el cambio de versiones cambio la forma de capturar las exepciones. aqui dejo el programa solucionado para la version 3.1. aun no menejo las excepciones solo muestro un texto "Error Controlado" :( .


import os
import shutil
import datetime

date = datetime.date.today()
dateDelete = date - datetime.timedelta(weeks=2)

sourcePath = r'F:\develop\zeus\trunk'
destRootPath = r'U:\respaldoAutomaticos'
destPath = destRootPath + "\\" + str(date) + " _respaldo"

print ("find old Directories")
try:
print (dateDelete)
for directory in os.listdir(destRootPath):
try:
array = directory.split(" ")[0].split("-")
dateDir = datetime.date(int(array[0]), int(array[1]), int(array[2]))
print (dateDir)
if dateDir < dateDelete:
print ("try drop Directory" + destRootPath + "\\" + directory)
shutil.rmtree(destRootPath + "\\" + directory)
print ('Directory "' + destRootPath + "\\" + directory + '" Deleted')
except Exception:
print ("Error Controlado")
except Exception:
print ("Error Controlado")

for root, dirs, files in os.walk(sourcePath):
dest = destPath + root.replace(sourcePath, '')
if not os.path.isdir(dest):
os.mkdir(dest)
print ('Directory created at: ' + dest)
for f in files:
oldLoc = root + '\\' + f
newLoc = dest + '\\' + f
if not os.path.isfile(newLoc):
try:
shutil.copy2(oldLoc, newLoc)
print ('File ' + f + ' copied.')
except IOError:
print ('file "' + f + '" already exists')






--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

No hay comentarios:

Publicar un comentario