Relatórios do Sarg por grupo
Publicado por Andre Luiz da Silva 11/09/2006
[ Hits: 7.611 ]
Homepage: http://localhost
Separa os relatorios do Sarg por posixGroup de uma base LDAP
#!/usr/bin/perl
# sarg-by-group.pl - Separa os relatorios do Sarg por posixGroup
# utilizando uma base LDAP
#
# Desenvolvido por: Andre Luiz da Silva <andrack@gmail.com>
#
# 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 "$@";
$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");
}
}
Índice (Logaritmo Discreto) em Perl
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (0)
Alguém já testou o novo COSMIC Desktop? O que achou? (1)
Não consigo instalar distro antiga no virtualbox nem direto no hd (15)









