Announcement

Collapse
No announcement yet.

Vider base de données syslogng

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vider base de données syslogng

    Bonjour a tous!

    J'ai installer le module syslog-ng dnas oreon, ca fonctionne bien!
    Je me rend comte que les logs prenne beucoup de place dans ma base de donnée.
    Avez vous une ligne de commande cron ou autre chose pour planifier la supression des logs de plus de 30 jours?

    Merci beaucoup. :confused:
    ---------------------------------------------------
    Nagios 2.9
    Oreon 1.4 RC3 + Syslogng + Ntop
    Debian Etch.
    --------------------------------------------------

  • #2
    Bonjour,
    tu peux utiliser le script logrotate.php de php-syslog-ng 2.9.1 en modifiant les variables $APP_ROOT et $dbLink

    Ensuite tu inseres le logrotate.php dans ta crontab

    Cordialement
    .-=NiTroZ=-. http://www.pmartin.net
    <!---
    CentOs
    Centreon 2.2RC2
    Nagios 3.2.1
    Nagvis 1.4.7
    ---!>

    Comment


    • #3
      En fait le logrotate.php permet bien de purger la base, mais entierement! y'atil la possibilitée de garder quelques logs, sur 30 jours?:confused:

      merci
      ---------------------------------------------------
      Nagios 2.9
      Oreon 1.4 RC3 + Syslogng + Ntop
      Debian Etch.
      --------------------------------------------------

      Comment


      • #4
        php script

        Voici un script php qui devrait faire l'affaire:

        Ce script effacera tout les logs plus vieux que la semaine passé. Tu devras donc toujours avoir 1 semaine de logs dans ta BD. Tu devrais pouvoir le modifier afin d'avoir la rétention voulu.

        Merci

        ---

        #!/usr/bin/php
        <?php

        $host = "localhost";
        $db = "syslogdb";
        $login = "username";
        $password = "password";

        $time = date("H:i");
        $lastweek = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-8, date("Y")));
        $lastweek = $lastweek." ".$time;

        $base = mysql_connect($host, $login, $password);
        mysql_select_db($db,$base);
        $sql = "DELETE FROM syslog
        WHERE date < '" . $lastweek . "';";
        $req = mysql_query($sql);

        mysql_close($base);


        ?>

        Comment


        • #5
          Voici le script qui te permettera de garder toujours les 30 derniers jours de tes logs.

          ---


          #!/usr/bin/php
          <?php

          $host = "localhost";
          $db = "syslog";
          $login = "syslogadmin";
          $password = "password";

          $time = date("H:i");
          $lastmonth = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-30, date("Y")));
          $lastmonth = $lastmonth." ".$time;

          $base = mysql_connect($host, $login, $password);
          mysql_select_db($db,$base);
          $sql = "DELETE FROM logs
          WHERE datetime < '" . $lastmonth . "';";
          $req = mysql_query($sql);

          mysql_close($base);


          ?>

          Comment


          • #6
            Super merci,

            J' essais sa demain dès que j'arrive au travail!

            Vous ètes super

            ---------------------------------------------------
            Nagios 2.9
            Oreon 1.4 RC3 + Syslogng + Ntop
            Debian Etch.
            --------------------------------------------------

            Comment

            Working...
            X