Relatórios do Sarg por grupo
Publicado por Andre Luiz da Silva 11/09/2006
[ Hits: 7.286 ]
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
Testando a agilidade do sistema de arquivos
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta