Commit 30716455 by Javier

Realizada funciones para borar ficheros de una determinada carpeta en Pcloud que…

Realizada funciones para borar ficheros de una determinada carpeta en Pcloud que sean más antiguos de 20 dias
parent d25eb560
from create_backup_db_soporte import create_backup_database_soporte from create_backup_db_soporte import create_backup_database_soporte
from upload_pcloud_backup import upload_solo_pcloud_sp from upload_pcloud_backup import upload_solo_pcloud_sp, delete_file_date
if __name__ == '__main__': if __name__ == '__main__':
#Crea copia de seguridad y lo almacena en la carpeta backups #Crea copia de seguridad y lo almacena en la carpeta backups
create_backup_database_soporte() #create_backup_database_soporte()
#Sube a Pcloud la backups #Sube a Pcloud la backups
upload_solo_pcloud_sp(True) #upload_solo_pcloud_sp(True)
\ No newline at end of file #Borra fichero en Pcloud si su fecha de creación es anterior a 20 dias
delete_file_date()
\ No newline at end of file
...@@ -2,7 +2,8 @@ import pathlib ...@@ -2,7 +2,8 @@ import pathlib
import os import os
from pcloud import PyCloud from pcloud import PyCloud
from os import remove from os import remove
from datetime import datetime, timedelta
import pytz
def upload_solo_pcloud_sp(hyperV : bool = False): def upload_solo_pcloud_sp(hyperV : bool = False):
""" """
...@@ -25,5 +26,47 @@ def upload_solo_pcloud_sp(hyperV : bool = False): ...@@ -25,5 +26,47 @@ def upload_solo_pcloud_sp(hyperV : bool = False):
for fichero in ficheros: # Borramos ficheros de la carpeta backups for fichero in ficheros: # Borramos ficheros de la carpeta backups
remove(fichero) remove(fichero)
print('Subido a Pcloud') print('Subido a Pcloud')
else: else:
print("Fichero inexistente en la carpeta backups") print("Fichero inexistente en la carpeta backups")
def delete_file_date():
"""Borra fichero en Pcloud si su fecha de creación es anterior a 20 dias
Arg (Pcloud): Conexión Pcloud
Return (list): Nombre de los ficheros borrados en caso que los haya.
"""
deletes_files = [] # Ficheros borrados
pc = PyCloud('informatica@rentelwifi.com', '_RW!2k14', endpoint="eapi")
folder_path = "/Backup/Hyper-V/Soporte"
folder_info = pc.listfolder(path=folder_path)
for item in folder_info["metadata"]["contents"]: #Recorro los ficheros de la carpeta
file_time = item["created"]
if compare_date_file(file_time): #Si la fecha del fichero es anterior a 20 dias de antiguedad
#Borar fichero
pc.deletefile(fileid=item["fileid"])
deletes_files.append(item["name"])
if len(deletes_files) == 0:
print("No hay ficheros para borrar en Pcloud que sean más antiguos de 20 dias.")
else:
print("Ficheros borrados de Pcloud ")
print(deletes_files)
def compare_date_file(file_time_create: str):
"""Compara si la fecha de cración del fichero es superior a 20 dias
Arg:
file_time_create (str): fecha de la creación del fichero.
Return (boolean) : True si la fecha del fichero es superior a 20 dias True si no False.
"""
previous_date=datetime.today()+timedelta(days=-20) #Fecha actual 20 dias atrás
previous_date_aware = pytz.utc.localize(previous_date) # convertir a objeto datetime "aware"
date_fichero= datetime.strptime(file_time_create, "%a, %d %b %Y %H:%M:%S %z")
if date_fichero < previous_date_aware: #Si la fecha del fichero es anterior a 20 dias de antiguedad
return True
else:
return False
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment