Relatórios do Sarg por grupo
Publicado por Andre Luiz da Silva 11/09/2006
[ Hits: 7.444 ]
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"); } }
Algoritmo de Euclides estendido em Perl
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
O que você quer para sua vida ao usar o Linux?
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Teclado n~ao escreve abnt2 (1)
Audio intermitente xubuntu notebook positivo c14 vision (5)
Adicional de convivdado em linux somente linha de comando (2)