Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Gestion d'un logs pour un hotspot avec captiveportal

    Scheduled Pinned Locked Moved Français
    13 Posts 4 Posters 5.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      s4D
      last edited by

      Bonjour,
      Je souhaite mettre en place un hotspot qui conserve les logs (identifiant du hotspot, adresse mac et site visité) pendant 1 an.
      Pour des raisons techniques, je souhaite faire cela en en local.
      J'ai donc installé squid comme proxy transparent
      Le souhaite donc installer logrotate afin d'effectuer une rotation automatique des fichiers access.log et portalauth.log sur 1 an avec compression.
      Je ne trouve pas comment installer logrotate, tout le monde parle d'un serveur syslog distant mais ça ne peut pas fonctionner dans mon cas.
      Avez-vous une idée?

      Merci d'avance

      1 Reply Last reply Reply Quote 0
      • S
        s4D
        last edited by

        Bonjour,
        J'ai trouvé une solution via un petit script:

        #!/bin/bash
        #compression des logs squid et portalauth
        
        DATE=`date +"%y%m%d"`
        
        #compression logs SQUID
        /usr/bin/tar cvfz /var/log/logs_navigation/access_squid-$DATE.tar.gz /var/squid/
        log/access.log.0
        
        #compression logs portalauth
        /usr/bin/tar cvfz /var/log/logs_navigation/portal_auth-$DATE.tar.gz /var/log/por
        talauth.log
        
        #suppression fichiers de plus d'un an
        /usr/bin/cd /var/log/logs_navigation/
        /usr/bin/find . -type f -mtime +365 -exec rm -vf {} \;
        
        

        Quand je lance manuellement ce script, tout fonctionne à merveille
        J'ai souhaité l'ajouté dans mes taches cron.
        Comme vu sur le forum, j'ai modifié le .xml de config:

         <task_name>compression_logs</task_name> 
          <minute>30</minute> 
          <hour>0</hour> 
          <mday>*</mday> 
          <month>*</month> 
          <wday>*</wday> 
          <who>root</who> 
          <command></command>/var/rotation_logs.sh 
        
        

        Problème, mon script ne se lance pas :'(
        avec vous une idée?
        Merci d'avance

        1 Reply Last reply Reply Quote 0
        • J
          jdh
          last edited by

          Il faut répondre à ces 2 questions :

          Que signifie exactement "Quand je lance manuellement ce script" ?
          Est ce ce qui est lancé par "<command></command>/var/rotation_logs.sh" ?

          Albert EINSTEIN : Si vous ne pouvez pas l'exprimer simplement, c'est que vous ne le comprenez pas assez bien. (If you can’t explain it simply, you don’t understand it well enough.)

          1 Reply Last reply Reply Quote 0
          • S
            s4D
            last edited by

            @jdh:

            Il faut répondre à ces 2 questions :

            Que signifie exactement "Quand je lance manuellement ce script" ?
            Est ce ce qui est lancé par "<command></command>/var/rotation_logs.sh" ?

            si je fais```
            sh /var/rotation_logs.sh

            
            voici le contenu du script rotation_logs.sh:
            

            #!/bin/sh
            #compression des logs squid et portalauth

            DATE=date +"%y%m%d"

            #compression logs SQUID
            /usr/bin/tar cvfz /var/log/logs_navigation/access_squid-$DATE.tar.gz /var/squid/
            log/access.log.0

            #compression logs portalauth
            /usr/bin/tar cvfz /var/log/logs_navigation/portal_auth-$DATE.tar.gz /var/log/por
            talauth.log

            #suppression fichiers de plus d'un an
            /usr/bin/cd /var/log/logs_navigation/
            /usr/bin/find . -type f -mtime +365 -exec rm -vf {} ;

            1 Reply Last reply Reply Quote 0
            • P
              Pro21
              last edited by

              Bonjour,

              peut être le chemin absolu des commandes date et rm ?

              1 Reply Last reply Reply Quote 0
              • S
                s4D
                last edited by

                comme ça?:

                #!/bin/sh
                #compression des logs squid et portalauth
                
                DATE=`/usr/bin/date +"%y%m%d"`
                
                #compression logs SQUID
                /usr/bin/tar cvfz /var/log/logs_navigation/access_squid-$DATE.tar.gz /var/squid/
                log/access.log.0
                
                #compression logs portalauth
                /usr/bin/tar cvfz /var/log/logs_navigation/portal_auth-$DATE.tar.gz /var/log/por
                talauth.log
                
                #suppression fichiers de plus d'un an
                /usr/bin/cd /var/log/logs_navigation/
                /usr/bin/find . -type f -mtime +365 -exec /usr/bin/rm -vf {} \;
                
                

                Je vous dirais demain si ça à marché

                1 Reply Last reply Reply Quote 0
                • S
                  s4D
                  last edited by

                  pas mieux :'(
                  Y a t'il un log dans lequel je pourrais trouver plus d'informations?

                  1 Reply Last reply Reply Quote 0
                  • J
                    jdh
                    last edited by

                    La réponse à la première question est correcte.
                    Mais visiblement la deuxième n'est pas comprise !

                    Il est pourtant assez évident que la réponse à la première question DOIT servir pour corriger et permettre l'exécution.

                    Albert EINSTEIN : Si vous ne pouvez pas l'exprimer simplement, c'est que vous ne le comprenez pas assez bien. (If you can’t explain it simply, you don’t understand it well enough.)

                    1 Reply Last reply Reply Quote 0
                    • S
                      s4D
                      last edited by

                      @jdh:

                      La réponse à la première question est correcte.
                      Mais visiblement la deuxième n'est pas comprise !

                      Il est pourtant assez évident que la réponse à la première question DOIT servir pour corriger et permettre l'exécution.

                      Désolé, je ne comprends pas

                      1 Reply Last reply Reply Quote 0
                      • S
                        s4D
                        last edited by

                        décidément, je vais pas y arriver :'(
                        J'ai remarqué que certains chemins complets n'étaient pas les bons. J'ai donc modifié mon script:

                        #!/bin/sh
                        #compression des logs squid et portalauth
                        DATE=`/bin/date +"%y%m%d"`
                        #compression logs SQUID
                        /usr/bin/bsdtar cvfz /var/log/logs_navigation/access_squid-${DATE}.tar.gz /var/squid/log/access.log.0
                        #compression logs portalauth
                        /usr/bin/bsdtar cvfz /var/log/logs_navigation/portal_auth-${DATE}.tar.gz /var/log/portalauth.log
                        #suppression fichiers de plus d'un an
                        /usr/bin/cd /var/log/logs_navigation/
                        /usr/bin/find . -type f -mtime +365 -exec /bin/rm -vf {} \;
                        
                        

                        Malheureusement, toujours pareil
                        Si en console, je lance mon script (sh monscript.sh)
                        aucun problem
                        par contre, dans la crontab, rien ne se lance :'(

                        1 Reply Last reply Reply Quote 0
                        • J
                          jdh
                          last edited by

                          Dans les réglages de crontab, que peut bien signifier en français "command" ?

                          Albert EINSTEIN : Si vous ne pouvez pas l'exprimer simplement, c'est que vous ne le comprenez pas assez bien. (If you can’t explain it simply, you don’t understand it well enough.)

                          1 Reply Last reply Reply Quote 0
                          • M
                            mikesamo
                            last edited by

                            commande ?

                            ces l'endroit ou est ton script ex:

                            /usr/local/www/test_script.sh

                            1 Reply Last reply Reply Quote 0
                            • S
                              s4D
                              last edited by

                              J'ai vu sur le forum que fallait télécharger la configuration, la modifier et l'uploader pour ajouter une tache cron afin qu'elle ne soit pas supprimée au redémarrage.
                              est la syntaxe utilisée dans le fichier de configuration pour executer un script
                              J'ai redémarré le firewall hier et la tache cron s'est exécutée cette nuit ;)
                              tout à l'air de fonctionner

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.