|
| 1 | +# -*- coding: utf-8 -*- |
| 2 | +""" |
| 3 | + ---------------------------------------------------------------------- |
| 4 | + | logrotate.py |
| 5 | + | ------------ |
| 6 | + | |
| 7 | + | Programa para rodar os arquivos de log diariamente |
| 8 | + | Analisa todos diretorios e arquivos com extenção .log |
| 9 | + | Manter ultimos 10 arquivos, renomeando para .ant |
| 10 | + | Exemplo: teste.log.1.ant |
| 11 | + | |
| 12 | + | :copyright: © 2014 By Helder A. Morais |
| 13 | + | :license: BSD, see LICENSE for more details. |
| 14 | + | |
| 15 | + ---------------------------------------------------------------------- |
| 16 | +""" |
| 17 | + |
| 18 | +import fnmatch |
| 19 | +import os |
| 20 | + |
| 21 | +# Obtem todos diretorios, subdiretorios e arquivos de .log |
| 22 | +for root, dirs, files in os.walk('/Temp'): |
| 23 | + |
| 24 | + # Para cada arquivo .log encontrado |
| 25 | + for filename in fnmatch.filter(files, '*.log'): |
| 26 | + |
| 27 | + # Junta diretorio e nome do arquivo |
| 28 | + caminho = os.path.join(root,filename) |
| 29 | + |
| 30 | + # Apaga ultimo arquivo (numero 9) |
| 31 | + if os.path.isfile(caminho+'.9.ant'): |
| 32 | + os.remove(caminho+'.9.ant') |
| 33 | + |
| 34 | + # Renomeia outros arquivos, liberando espaço para o 1.ant |
| 35 | + if os.path.isfile(caminho+'.8.ant'): |
| 36 | + os.rename(caminho+'.8.ant',caminho+'.9.ant') |
| 37 | + if os.path.isfile(caminho+'.7.ant'): |
| 38 | + os.rename(caminho+'.7.ant',caminho+'.8.ant') |
| 39 | + if os.path.isfile(caminho+'.6.ant'): |
| 40 | + os.rename(caminho+'.6.ant',caminho+'.7.ant') |
| 41 | + if os.path.isfile(caminho+'.5.ant'): |
| 42 | + os.rename(caminho+'.5.ant',caminho+'.6.ant') |
| 43 | + if os.path.isfile(caminho+'.4.ant'): |
| 44 | + os.rename(caminho+'.4.ant',caminho+'.5.ant') |
| 45 | + if os.path.isfile(caminho+'.3.ant'): |
| 46 | + os.rename(caminho+'.3.ant',caminho+'.4.ant') |
| 47 | + if os.path.isfile(caminho+'.2.ant'): |
| 48 | + os.rename(caminho+'.2.ant',caminho+'.3.ant') |
| 49 | + if os.path.isfile(caminho+'.1.ant'): |
| 50 | + os.rename(caminho+'.1.ant',caminho+'.2.ant') |
| 51 | + |
| 52 | + # Renomeia arquivo de log para 1.ant |
| 53 | + os.rename(caminho, caminho+'.1.ant') |
0 commit comments