Ceci est une ancienne révision du document !
alias_verification.pl
<code> #!/usr/bin/perl -w # # alias_verification.pl # # Catherine.Balleydier@grenoble-inp.fr # # maj : 07/03/12 # # # vérifier les alias par rapport aux listes # # # use strict; use warnings; use File::Copy; # # données à paramétrer #
# repertoire ou sont les listes my $REP=“/home/sympa/list_data/xxxxxxxxxxxxxxxxx/” ; # # variables # my $entree ; my @ligne ; my $ind1 ; my $ind2 ; # # ouvrir le fichier /etc/mail/sympa_aliases # my $fichier_alias = “/etc/mail/sympa_aliases” ; open (FICH, $fichier_alias) || die “probleme fichier”; my @ALIAS = <FICH> ; close (FICH); chomp (@ALIAS);
# # # lister le contenu du repertoire contenant les listes # opendir(DIR, $REP) || die “Impossible de lire $REP : $!\n”; my @liste = grep { /^[^\.]/ && -r “$REP/$_” } readdir(DIR); close (FICH) ; # # pour chaque liste vérifier le fichier sympa_aliases # ETIQ1 : foreach $entree (@liste) {
$ligne[0] = "#------------------------------ "."$entree".":" ;
$ligne[1] = "listes.grenoble-inp.fr-"."$entree".": \"\| /home/sympa/bin/queue "."$entree"."\@listes.grenoble-inp.fr\"" ;
$ligne[2] = "listes.grenoble-inp.fr-"."$entree"."-request: \"\| /home/sympa/bin/queue "."$entree"."-request\@listes.grenoble-inp.fr\"" ;
$ligne[3] = "listes.grenoble-inp.fr-"."$entree"."-editor: \"\| /home/sympa/bin/queue "."$entree"."-editor\@listes.grenoble-inp.fr\"" ;
$ligne[4] = "#listes.grenoble-inp.fr-"."$entree"."-subscribe: \"\| /home/sympa/bin/queue "."$entree"."-subscribe\@listes.grenoble-inp.fr\"" ;
$ligne[5] = "listes.grenoble-inp.fr-"."$entree"."-unsubscribe: \"\| /home/sympa/bin/queue "."$entree"."-unsubscribe\@listes.grenoble-inp.fr\"" ;
$ligne[6] = "listes.grenoble-inp.fr-"."$entree"."-owner: \"\| /home/sympa/bin/bouncequeue "."$entree"."\@listes.grenoble-inp.fr\"" ;
$ligne[7] = "$entree"."-owner: \"\| /home/sympa/bin/bouncequeue "."$entree"."\@listes.grenoble-inp.fr\"" ;
for $ind1 (0..$#ALIAS)
{
if ( $ALIAS[$ind1] =~ /$ligne[0]/ )
{
for $ind2 (1..5)
{
$ind1++ ;
if ( $ALIAS[$ind1] ne "$ligne[$ind2]" )
{
print "1 : problème sur $ligne[$ind2] \n" ;:wq
print "2 : problème sur $ALIAS[$ind1] \n\n" ;
next ETIQ1 ;
}
}
$ind1++ ;
if ( ( $ALIAS[$ind1] ne "$ligne[6]" ) && ( $ALIAS[$ind1] ne "$ligne[7]" ) )
{
print "3 : problème sur $ligne[6] \n" ;
print "4 : problème sur $ligne[7] \n" ;
print "5 : problème sur $ALIAS[$ind1] \n\n" ;
next ETIQ1 ;
}
next ETIQ1 ;
}
}
print "problème $entree n'existe pas \n" ;
} <code>
