Accéder au contenu.
Menu Sympa

fr - RE: [fr@sympa] Listes manquantes dans la table list_table

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: LALOT Dominique <adresse@cachée>
  • To: Pascal Maes <adresse@cachée>, LALOT Dominique <adresse@cachée>
  • Cc: "adresse@cachée" <adresse@cachée>
  • Subject: RE: [fr@sympa] Listes manquantes dans la table list_table
  • Date: Wed, 5 Oct 2022 16:02:09 +0000

Bonjour


Je fais suite, ici le script PERL qui va bien pour vérifier que les listes sont bien en base et passe la commande adéquate si besoin. A adapter: l'_expression_ régulière en fonction du domaine par défaut


A+


Dom


#!/usr/bin/perl
# lire le  fichier sympa_aliases
# répare les listes absentes de list_table
use DBI;
use strict;

my $aliasfic='/etc/mail/sympa_aliases';
my ($list,$robot);
my $driver = "mysql";
my $database = "sympa";
my $dsn = "DBI:$driver:database=$database";
my $userid = "sympa";
my $password = "xxxx";
my $dbh = DBI->connect($dsn, $userid, $password ) or die $DBI::errstr;
my $sql="SELECT name_list,robot_list FROM list_table";
my $sth = $dbh->prepare($sql);
my %HdbListe;
my %Halias;
my $sympacmd='/home/sympa/bin/sympa.pl';
my $defaultDomain='univ-amu.fr';

print "Répare les liste absentes de la table list_table\n";
# Lire les alias dans deux hash car on utilise amumail ou maillocalhost(planqué en completion)
open FIC,"<$aliasfic" or die "Ouverture $aliasfic impossible";
while (<FIC>){
        next if /^\s*#/;
        next if /^\s*$/;
        next if (/request|editor|subscribe|owner|bounce|listmaster/);
        if (/(\S+):/){ # le nom de la liste
                my $alias=$1;
                next if $alias=~/sympa/;
                if ($alias=~/^(\S+.univ-\w+.fr)-(.*)/ or $alias=~/^(.*sciencespo-aix.fr)-(.*)/){
                    $alias="$2\@$1";
                }
                else {
                    $alias.=$defaultDomain;
                }

                $Halias{$alias}=$alias;
                #print "liste:$alias\n" ;
        }
}
close FIC;

$sth->execute();
$sth->bind_columns( \$list,\$robot);
while($sth->fetch){
    my $mail=lc ($list.'@'.$robot);
    $HdbListe{$mail}=1;
    #print "$mail\n";
}
foreach (keys %Halias) {
    unless ($HdbListe{$_}) {
        print "Pas trouvé $_\n" ;
        `$sympacmd --sync_list_db --list=$_`;
    }
}



--
Mr Dominique LALOT
Responsable Pôle Environnement Numérique
Direction Opérationnelle du Système d'Information (DOSI)
( Aix * Marseille Université
Coordonnées: https://annuaire.univ-amu.fr/personnel/detail/bGFsb3Q=

De : adresse@cachée <adresse@cachée> de la part de LALOT Dominique <adresse@cachée>
Envoyé : mercredi 5 octobre 2022 16:07:57
À : Pascal Maes
Cc : adresse@cachée
Objet : RE: [fr@sympa] Listes manquantes dans la table list_table
 

Bonjour


Moi c'est à partir du LDAP et avec des familles de listes qu'on peuple quand ce n'est pas manuel.

C'est cette commande qui fait le taf:


/home/sympa/bin/sympa.pl --sync_list_db --list=xx@yy


Je vois juste que que les colonnes owners_list et editors_list sont vides mais je pense que c'est normal vu que cette information est ailleurs.


Reste plus qu'a parser les alias et regarder si la liste est bien dans list_table


Merci pour ton retour


--
Mr Dominique LALOT
Responsable Pôle Environnement Numérique
Direction Opérationnelle du Système d'Information (DOSI)
( Aix * Marseille Université
Coordonnées: https://annuaire.univ-amu.fr/personnel/detail/bGFsb3Q=

De : Pascal Maes <adresse@cachée>
Envoyé : mercredi 5 octobre 2022 10:08:34
À : LALOT Dominique
Cc : adresse@cachée
Objet : Re: [fr@sympa] Listes manquantes dans la table list_table
 
Bonjour,


Je crée des listes à partir de scripts Perl qui interrogent les bases de données de notre université.
Les répertoires des listes sont créés dans un dossier "tampon" et elles ont toutes le "status closed"

J'utilise ensuite le script suivant pour les copier au "bon endroit" et les activer

#! /bin/tcsh
#
foreach i (*)
if (! -e /var/sympa/list_data/listes.x/$i) then
/bin/cp -p -r $i /var/sympa/list_data/listes.x/$i
/bin/chown -R sympa:sympa /var/sympa/list_data/listes.x/$i
/var/sympa/bin/sympa.pl --open_list=$i\@listes.x
/var/sympa/bin/sympa.pl --reload_list_config --list=$i\@listes.x --robot=listes.x
/var/sympa/bin/sympa.pl --sync_list_db --list=$i\@listes.x
endif
end


> Le 5 oct. 2022 à 10:01, LALOT Dominique <adresse@cachée> a écrit :
>
> Bonjour
>
> Connaissez vous une astuce pour ajouter une liste qui existe mais n'est pas dans cette table ? Du coup la recherche ne la trouve pas.
> Ou peut on insérer à minima, et une petite modification qui complète ensuite ?
> Sinon, si quelqu'un a écrit le script, je suis intéressé.
>
> Merci
>
> --
> Mr Dominique LALOT
> Responsable Pôle Environnement Numérique
> Direction Opérationnelle du Système d'Information (DOSI)
> ( Aix * Marseille Université
> Coordonnées: https://annuaire.univ-amu.fr/personnel/detail/bGFsb3Q=

--
Pascal







Archives gérées par MHonArc 2.6.19+.

Haut de le page