Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Metasys Classmate
Por Gedimar
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Andre Luiz da Silva em 11/09/2006    [ 3700 hits ]

Login: andrack, 104304 pontos

Homepage: http://localhost   


Descrição

Separa os relatorios do Sarg por posixGroup de uma base LDAP

[ Download: sarg-by-group.pl ]   [ Enviar nova versão ]

[ 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 <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");
        }
}

Scripts recomendados
   Script Linux recomendado Mega Sena
   Script Linux recomendado Configurar ADB no linux
   Script Linux recomendado Tirando screenshots facilmente !
   Script Linux recomendado Muda o wallpaper do X-Windows
   Script Linux recomendado Diminuir ou aumentar o brilho de notebook

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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.