1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| import os, glob, time, stat
from os import path
from shutil import disk_usage
import shutil
#commande pour déterminer les espaces disque total, utilisé et libre
total_bytes, used_bytes, free_bytes = disk_usage(path.realpath('C:'))
#affichage des résultats de la commande précédente en GigaBytes
#print("il y a", str(round(total_bytes / 1000000000, 0)) + "Go au total")
#print("il y a", str(round(used_bytes / 1000000000, 0)) + "Go d'utlisé")
#print("il y a", str(round(free_bytes / 1000000000, 0)) + "Go de libre")
# récuperation de l'espace utilisé dans la variable
TOTAL_SPACE = (round(total_bytes / 1000000000, 0))
USED_SPACE = (round(used_bytes / 1000000000, 0))
#calcul de l'espace utilisé exprimé en pourcent
PERCENT_SPACE_USED = (USED_SPACE/TOTAL_SPACE) * 100
print("il y a", round(PERCENT_SPACE_USED), '%', "d'espace disque utilisé")
#définition du seuil critique d'espace disque utilisé et de l'ancienneté des dossiers à supprimer
SEUIL = 10
THREE_DAYS_AGO = time.time() -120
#boucle de comparaison du résultat de la 1ere commande avec le seuil défini
#suppression des répértoires avec extension "_SAV" supérieurs à 3 jours lorsque le seuil critique a été dépassé
for dir in glob.glob(r'C:\TEST\*_SAV'):
#date de création des dossiers
mtime = os.path.getmtime(dir)
if mtime > THREE_DAYS_AGO and SEUIL <= PERCENT_SPACE_USED:
shutil.rmtree(dir, ignore_errors=True)
print("absence de dossiers > 3 jours => suppression dossiers < 3 jours")
elif mtime < THREE_DAYS_AGO and SEUIL <= PERCENT_SPACE_USED:
shutil.rmtree(dir, ignore_errors=True)
print("dossiers > 3 jours supprimés")
else:
print("le seuil n'est pas atteint") |
Partager