Relatórios do Sarg por grupo

Publicado por Andre Luiz da Silva 11/09/2006

[ Hits: 6.992 ]

Homepage: http://localhost

Download sarg-by-group.pl




Separa os relatorios do Sarg por posixGroup de uma base LDAP

  



Esconder código-fonte

#!/usr/bin/perl

# sarg-by-group.pl - Separa os relatorios do Sarg por posixGroup
#                    utilizando uma base LDAP
#
# Desenvolvido por: Andre Luiz da Silva <[email protected]>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version
# 2 of the License, or (at your option) any later version.

use Net::LDAP;

$ldap = Net::LDAP->new("arquivos.sarg.inf.br") or die "[email protected]";
$ldap->bind("dc=relatorios,dc=inf,dc=br");

$output_dir = "/srv/www/htdocs/squid-reports/";
$input_log = "/var/log/squid/access.log";
$sarg_bin = "/usr/bin/sarg";
$debug = "-z -x";       # Opcoes de debug do Sarg

$groups = $ldap->search(filter=>"(&(cn=*)(objectclass=posixgroup))", base=>"dc=relatorios,dc=inf,dc=br");

# Carrega o array com todos os grupos da base LDAP
@entries = $groups->entries;

# Para cada grupo, faca...
foreach $entry (@entries) {
        $group = $entry->get_value("cn");

        chdir ($output_dir);
        if ( ! -d $group ) {            # Cria o diretorio, caso ele nao exista
                print "Criando diretorio: $group \n";
                mkdir ("$group");
        }

        @members = $entry->get_value("memberUid"); # Carrega o array com os membros do grupo

        # Para cada usuario, faca...
        foreach $member (@members) {
                print "Gerando relatorio do usuario: [$member]\n";
                # Executa o Sarg passando o parametro '-u' para cada membro do grupo
                system ("$sarg_bin -f /etc/sarg.conf -u $member -l $input_log -o $output_dir/$group");
        }
}

Scripts recomendados

Testando a agilidade do sistema de arquivos

Check All Process

Configurar ADB no linux

Role-Playing Script

Calculadora com Perl com menos de 10 linhas de código


  

Comentários
[1] Comentário enviado por jacquesteixeira em 09/07/2011 - 13:11h

tem como fazer por uma base do active directory, pois tenho meu squid autenticando pelo active directory


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts