Accueil Compétences Patterns Script batch Python purger un répertoire d'historique

purger un répertoire d'historique

Clique:
2770

Réponse

Dans le cas de programme script, il est fortement conseillé de conserver un fichier de log trançant le traitement effectué.
Généralement, le fichier de log est conservé dans un répertoire qui, petit à petit prend une taille conséquente.
Il faut donc prévoir un petit bout de programme pour nettoyer de façon périodique,
  1.  
  2. import datetime, glob, os
  3. nbDayKeepInLog = 10 # on conserve 10 jours dans le fichier de log
  4. slogPathName = os.sep + "log" + os.sep # le chemin où sont conservé les logs
  5.  
  6. # si la variable est égale à zéro on ne supprime rien (on conserve toujours)
  7. if (nbDayKeepInLog > 0):
  8. # on calcul la date de limite de suppression
  9. dtErase=datetime.date.today() - datetime.timedelta(days=nbDayKeepInLog)
  10.  
  11. # on récupère la liste des fichiers présent dans le répertoire de log
  12. LstFileLog = glob.glob(slogPathName + "*.*")
  13. # si il y a des fichiers à vérifier
  14. if len(LstFileLog) >0 :
  15. for sFileLog in LstFileLog:
  16. # on récupère les infos de chaque fichiers
  17. StatDate = os.stat(sFileLog)
  18. # et en particulier la date de derniere modification
  19. lastmodDate = time.localtime(StatDate[8])
  20. # si elle est inférieur à notre date limite on supprime le fichier
  21. if lastmodDate < dtErase :
  22. os.remove(sFileLog)
  23.  
J'ai écrit le meme type de procédure en vb-script