Surveillance taille d'un fichier puis rotation

Résolu
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -  
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis actuellement en train de travailler sur un script qui génère une trace de travail.
Cette log peut aléatoirement prendre des tailles importantes en fonction de l'activité de la plateforme sur laquelle le script est installé.
Pour prévenir tous éventuels problème de surcharge de disque, je suis donc contraint de surveiller la taille de cette log.
Je suis donc à la recherche d'un bout de code (je n'ai rien trouvé d'intéressant sur le net), qui va archiver la log quand celle-ci va atteindre une taille de 1 Mo (par exemple).
Voici un peu l'idée exprimée très schématiquement:
set ficlog=fichier.log
If %ficlog% > 1 Mo then
del %ficlog%.old
mv %ficlog% %ficlog%.old 
zip %ficlog%.old

Merci d'avance pour votre aide :-)
Ka-El
A voir également:

4 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
la taille du fichier en octet est donnée par %~zX
C:> for %a  in (??.bat) do @echo %~za %a
30123 aa.bat
31805 bb.bat
28107 cc.bat
621 dd.bat
1675 lo.bat
149 sh.bat
74 z1.bat
27 z2.bat
0
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Dubcek,
En fait, je recherche un morceau de code qui va contrôler la taille d'un fichier log.
Quand celle-ci atteint 1 mo, alors le script doit archiver le fichier (en supprimant préalablement l'ancien) et puis le compresse.
Voici l'idée:
set ficlog=fichier.log
If %ficlog% > 1 Mo then
del %ficlog%.old
mv %ficlog% %ficlog%.old
zip %ficlog%.old
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
je n'ai pas testé, essayer
set ficlog=fichier.log
for %%a in (%ficlog%) do (
  If %%~za GTR 1000000 (
   del %ficlog%.old
   mv %%a %ficlog%.old
   zip %ficlog%.old
   )
)
0
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention  
 
Tu crois que l'on est obligé de faire une boucle ?
Ce serait peut être un peu moins lourd avec un "type" sur le fichier log ?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
il faut une commande for pour récupérer la taille du fichier dans %%~zX
type pour connaitre la taille du fichier ???????? je vois pas
0
Ka-El Messages postés 260 Date d'inscription   Statut Membre Dernière intervention  
 
oui tu as raison, c'est effectivement n'importe quoi...
En tout cas, ta proposition fonctionne bien.
Merci beaucoup pour ton aide ! :-)
0