Forum Linux.redhat Cache log de squid ne tourne pas

Posté par  . Licence CC By‑SA.
Étiquettes :
0
6
juil.
2021

Bonjour,
J'ai un cache log squid qui grossi trop.
Je n'arrive pas à le faire tourner.
J'ai copié le fichier de conf de logrotate de cron daily à cron hourly.
J'ai fait un fichier spécial squid_cache dans /etc/logrotate.d/

    var/log/squid/cache.log {
    daily
    rotate 2
    size 5G
    compress
    notifempty
    missingok
    nocreate
    sharedscripts
    postrotate
      # Asks squid to reopen its logs. (logfile_rotate 0 is set in squid.conf)
      # errors redirected to make it silent if squid is not running
      /usr/sbin/squid -k rotate 2>/dev/null
      # Wait a little to allow Squid to catch up before the logs is compressed
      sleep 1
    endscript
}

Et le fichier dépasse les 5go sans pour autant tourner…le cronjob étant dans hourly, il devrait tourner quand il dépasse le size 5G quand la crontab passe.

Au delà de ce qui fait grossir ce fichier je veux avant tout le faire tourner à 5 giga.
Une idée ?
Merci

  • # oui mais non

    Posté par  . Évalué à 4.

    …le cronjob étant dans hourly

    log rotate se lance peut-etre toutes les heures, MAIS ton fichier de config dit de faire la rotation tous les jours (daily)

    si tu supprimes le daily, il devrait alors se baser sur la taille et plus sur la durée

  • # wait and see

    Posté par  . Évalué à 1.

    Bonjour,

    merci de ton retour.

    c'est corrigé, wait and see dans 1h ;)

      /var/log/squid/cache.log {
        rotate 2
        size 5G
        compress
        notifempty
        missingok
        nocreate
        sharedscripts
        postrotate
          # Asks squid to reopen its logs. (logfile_rotate 0 is set in squid.conf)
          # errors redirected to make it silent if squid is not running
          /usr/sbin/squid -k rotate 2>/dev/null
          # Wait a little to allow Squid to catch up before the logs is compressed
          sleep 1
        endscript
    
    • [^] # Re: wait and see

      Posté par  . Évalué à 2.

      alors, ca dit quoi apres 3h ?

      • [^] # Re: wait and see

        Posté par  . Évalué à 1.

        Ca dit que j'ai fait des boulettes ce matin donc..

      • [^] # Re: wait and see

        Posté par  . Évalué à 1.

        Bonjour,

        Donc ca dit qu'il a fait une rotation cette nuit mais depuis plus rien.

        en fait comme il en a dejà fait un, il en fera pas d'autre avant demain:
        error: destination /var/log/squid/cache.log-20210708.gz already exists, skipping rotation

        fichier cron.hourly
        #!/bin/sh

        /usr/sbin/logrotate /etc/logrotate.conf
        EXITVALUE=$?
        if [ $EXITVALUE != 0 ]; then
        /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
        fi
        exit $EXITVALUE

        et tjrs le fichier de conf squid_cache (sous logrotate.d)

        /var/log/squid/cache.log {
        rotate 2
        size 5G
        compress
        notifempty
        missingok
        nocreate
        sharedscripts
        postrotate
        # Asks squid to reopen its logs. (logfile_rotate 0 is set in squid.conf)
        # errors redirected to make it silent if squid is not running
        /usr/sbin/squid -k rotate 2>/dev/null
        # Wait a little to allow Squid to catch up before the logs is compressed
        sleep 1
        endscript
        }

        • [^] # Re: wait and see

          Posté par  . Évalué à 1.

          j'ai trouvé sur le net le parmametre nodateext qui devrait peut etre résoudre le soucis

        • [^] # Re: wait and see

          Posté par  . Évalué à 2.

          en fait comme il en a dejà fait un, il en fera pas d'autre avant demain:
          error: destination /var/log/squid/cache.log-20210708.gz already exists, skipping rotation

          ou chercher comment avoir l'heure et les minutes dans l'extension

          • [^] # Re: wait and see

            Posté par  . Évalué à 1.

            Bonjour,

            Pour vous informer que ca fonctionne depuis plusieurs jours avec ce fichier de conf:

            /var/log/squid/cache.log {
                rotate 2
                size 5G
                compress
                notifempty
                missingok
                nodateext
                nocreate
                sharedscripts
                postrotate
                  # Asks squid to reopen its logs. (logfile_rotate 0 is set in squid.conf)
                  # errors redirected to make it silent if squid is not running
                  /usr/sbin/squid -k rotate 2>/dev/null
                  # Wait a little to allow Squid to catch up before the logs is compressed
                  sleep 1
                endscript
            }
            

            Merci de votre aide

  • # maxsize

    Posté par  (site web personnel) . Évalué à 2.

    Cf. logrotate(8) :

    maxsize size
    
    Log files are rotated when they grow bigger than size bytes even
    before  the additionally specified time interval (daily, weekly,
    monthly, or yearly).  The related size option is similar  except
    that  it  is  mutually exclusive with the time interval options,
    and it causes log files to be rotated  without  regard  for  the
    last  rotation  time,  if specified after the time criteria (the
    last specified option takes the precedence).   When  maxsize  is
    used, both the size and timestamp of a log file are considered.
    

    Debian Consultant @ DEBAMAX

    • [^] # Re: maxsize

      Posté par  . Évalué à 1.

      Bonjour,

      Merci ;)
      j'ai essayé ce paramètre et il en voulait pas, du coup je me suis rabattu sur size qui est plus restrictif

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.