Objet :
Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa
Archives de la liste
- From: Bruno Jolys <adresse@cachée>
- To: adresse@cachée
- Subject: [sympa-fr] backup
- Date: Mon, 28 Aug 2017 13:27:02 +0200
Bonjour,
J'ai fait un petit backup "maison" à faire tourner à la main ou,
mieux, une fois par jour via le cron :
- il utilise la fonction dump de sympa.pl
- les adresses mail et noms des abonnés sont récupérés et stockés
dans un fichier texte par liste et par jour : /root/backup_membres/mon-domaine.org/membres_2017-08-28/ma-liste.txt
- ne sont conservées que les sauvegardes des 15 derniers jours
#!/bin/bash
# sauvegarde des membres des listes (manuelle ou via
cron)
echo "Sauvegarde des membres des listes sur le serveur
$(hostname), le $(date +%d-%m-%Y) vers $(date +%H:%M)"
# répertoire de sauvegarde
REP_BACKUP_MEMBRES="/root/backup_membres"
[ ! -d "$REP_BACKUP_MEMBRES" ] && mkdir
"$REP_BACKUP_MEMBRES"
# nom de domaine
DOMAINE="mon-domaine.org"
REP_DOMAINE="$REP_BACKUP_MEMBRES/$DOMAINE"
[ ! -d "$REP_DOMAINE" ] && mkdir "$REP_DOMAINE"
# ne garder que les 15 dernières sauvegardes
for REP in $( find "$REP_DOMAINE" -iname 'membres_*' |
sort --reverse | sed -n '16~1 p' )
do
find "$REP" -delete
done
# répertoire de sauvegarde du jour
REP_SAUVEGARDE="$REP_DOMAINE/membres_$(date +%Y-%m-%d)"
[ ! -d "$REP_SAUVEGARDE" ] && mkdir
"$REP_SAUVEGARDE"
# lancement préalable du dump par Sympa
echo ""
echo "Dump en cours..."
logger -i "backup: dump all lists
/usr/lib/sympa/bin/sympa.pl --dump=ALL"
/usr/lib/sympa/bin/sympa.pl --dump=ALL
# boucle de récupération
echo ""
echo "Récupération en cours..."
logger -i "backup: copy subscribers to $REP_SAUVEGARDE"
for F in $( find "/home/sympa/list_data/$DOMAINE"
-iname 'subscribers.db.dump' | sort )
do
echo "--> $F";
chown sympa:sympa "$F"
LISTE=$( echo "$F" | sed
"s/^.*$DOMAINE\///;s/\/subscribers.db.dump//" )
sed '/^[ ]*$/ d;/^date / d;/^update_date /
d;/^reception / d;/^visibility / d;s/^email //g' "$F" | sed
':debut;N;$
done
echo ""
echo "Sauvegarde terminée vers $(date +%H:%M)"
Je ne pense pas que ça surcharge le serveur, on verra.
Si jamais ça peut servir à quelqu'un...
Bien coopérativement
Bruno
|
-
[sympa-fr] backup,
Bruno Jolys, 28/08/2017
Archives gérées par MHonArc 2.6.19+.