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
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
0