Sympa:makelist.sh
De OpenWikiBSD.
Sommaire |
Usage
Permet de créer, en ligne de commande, la configuration complète d'une liste sur Sympa. Les utilisateurs sont obtenus depuis les groupes éponymes de l'annuaire du se3.
L'attribut des utilisateurs est PostOfficeBox.
Prérequis
- Sympa 5.X
- Postfix comme MTA
- Divers:traduc.pl
- Sympa:config Fichier de Config qui sera parsé... A Adapter une fois pour toutes
Script
#!/bin/bash ###Creation de liste automatique sur un annuaire LDAP au schema SambaEdu3 ## www.sambaedu.org ##Polyp@sambaedu.org ## 29/01/2006 ## Maj Sympa5.2.3/Etch 30/09/08 ## Script en GPL # Usage makelist.sh Nom_de_la_liste [Taille(Ko):Creation d'un espace partage de Taille ko/ vide: Pas d'espace partage ] BASEDN="Le Base DN de votre se3 préféré" IPLDAP=L'@IP de votre serveur se3 PASSLDAP=Le mdpasse de votre administrateur se3 ROB=Le FQDN de votre robot de listes LM="Le mail du listmaster" # On fait une recherche LDAP. Si "Matiere_$1" est un cn valide contenant des memberUid, on ajoute Matiere_ devant. MATOUPAS=`ldapsearch -h $IPLDAP -x -b cn=Matiere_$1,ou=Groups,$BASEDN -D cn=admin,$BASEDN -w $PASSLDAP |grep memberUid` if [ "$MATOUPAS" != "" ] then PREFIX="matiere_" fi # On met tout en minuscules LST=`/usr/script/traduc.pl $1` LST=$PREFIX$LST # Ajout Matiere devant si ...c'en est une LCK=/var/lock/$LST ALIAS="/etc/mail/sympa.aliases" DAT=`date '+%d %b %Y'` HEURE=`date '+%H:%M:%S'` TEMPSEPOCH=`date '+%s'` REP="/var/lib/sympa/expl/$LST" CONFBASE="/usr/script/config" CONFIG="/var/lib/sympa/expl/$LST/config" TITR="Creation de la liste $1 correctement effectuee" #Test Equipe ou Matiere # Passer un coup de TransformMatiere.sh $MAT aprÃs # Test Lock existe deja: if [ -e $LCK ] then echo "Fichier Lock trouve : Liste existante. On arrete" exit fi # On vérifie que les paramètres existent pour éviter les .....effets de bord si la liste n'est pas donnée en argument....Merci Tursan ;-) if [ -n "$LST" ] then #Création des aliases Sympa# GRP=`cat $ALIAS | grep $LST | grep -v "Supprime"` if [ "$GRP" == "" ] then echo "Création des aliases Sypa" # ATTENTION, on interdit inscription et desinscription echo "#------------------------------ $LST: list alias created $DAT" >> $ALIAS echo "$LST: \"| /usr/lib/sympa/bin/queue $LST@$ROB\"" >> $ALIAS echo "$LST-request: \"| /usr/lib/sympa/bin/queue $LST-request@$ROB\"" >> $ALIAS echo "$LST-editor: \"| /usr/lib/sympa/bin/queue $LST-editor@$ROB\"" >> $ALIAS echo "#$LST-subscribe: \"| /usr/lib/sympa/bin/queue $LST-subscribe@$ROB\"" >> $ALIAS echo "#$LST-unsubscribe: \"| /usr/lib/sympa/bin/queue $LST-unsubscribe@$ROB\"" >> $ALIAS echo "$LST-owner: \"| /usr/lib/sympa/bin/bouncequeue $LST@$ROB\"" >> $ALIAS newaliases else echo "Les aliases de messagerie existent deja ." exit fi ##Création du répertoire de liste et des deux fichiers de base (info et config) echo "Création d repertoire de liste et des deux fichiers de base (info et config)" mkdir $REP chmod -R 750 $REP echo "Liste privée des enseignants "> $REP/info cp $CONFBASE $CONFIG chmod 640 $REP/info chmod 640 $REP/config ##Configuration de la liste echo "Configuration de la liste" perl -pi -e "s/DAT/$DAT/g" $CONFIG perl -pi -e "s/HEURE/$HEURE/g" $CONFIG perl -pi -e "s/EPOCH/$TEMPSEPOCH/g" $CONFIG perl -pi -e "s/GRPE/$LST/g" $CONFIG ## Création d'un espace partagé ? echo "Création d'un espace partagé ?" if [ -n "$2" ] then mkdir $REP/shared perl -pi -e "s/QUOTA/quota $2/" $CONFIG else perl -pi -e 's/QUOTA//' $CONFIG fi chown -R sympa.sympa $REP # Synchro immédiate des users sur l'annuaire /usr/lib/sympa/bin/sympa.pl --sync_include $LST # Creation d'un lock definitif touch $LCK # Confirmation par mail echo " Envoi d'un mail de confirmation au listHamster" ALIASESMESS=`cat /etc/mail/sympa.aliases|grep $LST` CORPS=`ls /var/lib/sympa/expl/$LST` CORPS=$CORPS."\n".$ALIASESMESS echo "Creation de la liste $1 effectuee\n$CORPS" |mail -s "$TITR" $LM fi
Sortie
/usr/script/makelist.sh administration 100000 Création des aliases Sympa Création du repertoire de liste et des deux fichiers de base (info et config) Configuration de la liste Création d'un espace partagé ? Members of list administration@listes.lyceenobel.org have been successfully update. Envoi d'un mail de confirmation au listHamster

