Surveillance taille d'un fichier puis rotation

Résolu
Ka-El Messages postés 279 Statut Membre -  
Ka-El Messages postés 279 Statut Membre -
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

4 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  2. Ka-El Messages postés 279 Statut Membre
     
    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
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      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
  3. Ka-El Messages postés 279 Statut Membre
     
    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
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      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
  4. Ka-El Messages postés 279 Statut Membre
     
    oui tu as raison, c'est effectivement n'importe quoi...
    En tout cas, ta proposition fonctionne bien.
    Merci beaucoup pour ton aide ! :-)
    0