Python - Programar para hacer Backups en python a una carpeta de google drive comprobar archivo comprimido

 
Vista:
Imágen de perfil de misthotosskylos

Programar para hacer Backups en python a una carpeta de google drive comprobar archivo comprimido

Publicado por misthotosskylos (1 intervención) el 06/04/2024 23:08:26
Hola buenos dias
tratare de hacerme asi como entender

__________
Nesecito encontrar una forma de comparar los contenidos de un archivo zip contra los archivos en la fisica carpeta con la que cree el zip

__________
Tenemos una vieja application hecha hace 10 años supongo que esta en C+, que internamente guarda sus cosas como archivos .dbf todo en una carpeta "C:\Ventas Farma"

Quiero estoy tratando de hacer un lanzador en python de forma que el usuario le de click a mi lanzador, mi lanzador haga un backup y al terminar el backup mi lanzador lanze el ejecutable de la aplicacion de hace 10 años
hacer backups automaticos es el plan pero de la forma mas compacta posible

esto es el esbozo que llevo
__________

import zipfile
import shutil
import datetime
from pathlib import Path
import os

present_time = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M')
outputname = "G:\\Backups_farma\\out_{}".format(str(present_time))
target = "C:\\Ventas Farma"

shutil.make_archive(outputname, format='zip', root_dir=target) #, symlinks=False, ignore=None

os.system('start C:\Ventas Farma\ventas.exe') #<- no funciona lo miro luego

______________________________________________
bueno esto efectivamente me comprime la carpeta y me la pone en la unidad G agregandole la fecha al nombre

Resulta que varias veces durante el dia el usuario cierra y abre la aplicacion y muchas veces solo para consultar precios no hace ningun cambio alas bases de datos dbf
si lo dejo asi van a llenar el google drive en un par de meses


el archivo de python me genera archivos zip "out_2024-04-06_09-29.zip"
yo quiero que mi lanzador revize el ultimo zip y compare los archivos contra la carpeta en C para ver si hay diferencias

Solo si hay diferencias entonces si vuelva a generar otro zip

_______
algo como filecmp.cmpfiles("carpeta en C:", "Archivo zip en google drive", common, shallow=True)
--> cmpfiles no sirve con zips

_______
lo otro que esta pensando era hacer como un Os.walker y hacerme un list[dict{ "path/filename" : "", "las modification date": "yyymmddhhmm", "bitessize" : "1234567890" }]

guardar el list[dict como un archivo de texto para luego poderlo comparar contra la carpeta la proxima vez
parece mucho trabajo y esto seguro ya existe como funcion en alguna libreria pero no me a dado mucho el google y el ingles

#####################
can you help me whit this
Nesecito una funcion que me permita buscar diferencias entre un archivo compreso zip y la carpeta apartir de la cual se creo

Buneo muchas gracias
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