Quelle solution de sauvegarde pour comptes IMAP ?

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

Quelle solution de sauvegarde pour comptes IMAP ?

Messagepar braouazou » 28 Sep 2004 18:02

Bonjour,

Je cherche à mettre une solution de sauvegarde pour les mails de mon serveur IMAP (uw-imapd-ssl sous Debian Sarge).
J'ai dans l'intention de faire un petit script shell utilisant tar et son option permettant les archivages incrémentiels (pour l'instant, les tests sont très décevants !), une compression gzip, et envoyer les archives par scp sur un serveur distant, sur lequel je n'ai pas énormément de place... le tout géré par cron.

En plus des contraintes de place (qui me limitent à une sauvegarde par utilisateur, sinon, pas de souci), il y a une contrainte de légéreté, car tar et gzip consomment tout de même pas mal de ressources systèmes.

Je voulais donc savoir ce que vous utiliseriez dans un tel cas, si vous aviez éventuellement des liens sur la question.

Question annexe: une expérience réussie avec tar --listed-incremental ?? J'ai l'impression, dans mon cas, que je ne gagne rien en terme de temps en utilisant l'incrémentiel...

Merci par avance pour vos retours :-)

@++
Avatar de l’utilisateur
braouazou
Amiral
Amiral
 
Messages: 1290
Inscrit le: 26 Fév 2003 01:00
Localisation: Dans les Vosges, au milieu des sapins!

Messagepar braouazou » 29 Sep 2004 21:29

Question trop vaste/vague peut-être ??
:up:
Avatar de l’utilisateur
braouazou
Amiral
Amiral
 
Messages: 1290
Inscrit le: 26 Fév 2003 01:00
Localisation: Dans les Vosges, au milieu des sapins!

Messagepar doohanjoe » 30 Sep 2004 09:37

Bonjour,

Tu pourrais faire un mirroir des ces comptes avec un serveur branché directement dessus. Au moins en cas de crash, tu as tout de suite un serveur près à mettre à la place (combler le besoin de haute dispo en même temps ?).

Moi perso j'ai un robot de sauvegarde donc pour le tar --listed-incremental je ne peut pas t'aider.

J'espère que je fais avancé un peu le smilblick :lol:
Avatar de l’utilisateur
doohanjoe
Aspirant
Aspirant
 
Messages: 119
Inscrit le: 18 Déc 2003 01:00
Localisation: TOULON

Messagepar braouazou » 02 Oct 2004 00:39

Merci pour ta réponse.

S'agissant d'un réseau familial, je ne peux pas me permettre de faire un vrai miroir de mes comptes (cela impliquerait une Xième machine etc...).
Mais j'ai suivi un peu ce principe, et utilise désormais rsync, que j'ai dû compiler pour l'intégrer à IPCop (je sais, cmal TM :-) ).

J'ai laissé tomber le tar incrémentiel, qui ne semble pas fonctionner correctement d'après ce que j'ai pu voir dans les archives des newsgroups qui y sont consacrés. Il faudrait passer par des "bidouilles" sur les dates des fichiers, et rien en cas de problème, ce qui me dérange un peu.

Je fignole mon script, et je le posterai pour les âmes errantes en quête d'insipration -;)

Merci encore pour ton avis !!
@+
Avatar de l’utilisateur
braouazou
Amiral
Amiral
 
Messages: 1290
Inscrit le: 26 Fév 2003 01:00
Localisation: Dans les Vosges, au milieu des sapins!

Messagepar braouazou » 02 Oct 2004 19:08

Bon, et bien voici le résultat de mon travail. Le script est sans doute perfectible, et adaptable à la configuration de chacun, en tout cas, il répond exactement à mes attentes, excepté peut-être la place occupée par les "sauvegardes" puisque non compressées... Je pourrais éventuellement les compresser sur le serveur de sauvegarde, mais cela prendrait des ressources système relativement importantes, et comme j'ai de la place ;-)

Code: Tout sélectionner
#!/bin/bash

# Whom the backup report is sent to
MAIL_RCPT=root

# List of users
USERS="toto tata titi"

# Remote host where the backups will be sent (user@host or user@IP)
RSYNC_HOST=root@host

# ssh port on the remote server (should be 22)
SSH_PORT=22

# Where the backups are stored on the remote machine
RSYNC_TARGET=/var/backups


# END OF VARIABLES

DATE=`date +%d-%m-%Y`
TIME=`date +%T`

echo "Backup launched on $DATE at $TIME" > backup.log
echo " " >> backup.log
echo " " >> backup.log

for user in $USERS
do
  echo "*****************************************************************" >> backup.log
  echo "Backup for $user" >> backup.log

  # Files and directories that should be included in the backup
  DIR="/home/$user/Mail /var/mail/$user"

  $(which rsync) --progress --rsh="$(which ssh) -p $SSH_PORT" -4 --delete-after \
  -pogtrz $DIR $RSYNC_HOST:$RSYNC_TARGET/$user >> backup.log
  echo " " >> backup.log
  echo " " >> backup.log
done

echo "Hi," > .tmp
echo " " >> .tmp
echo "Backup was launched on $DATE at $TIME." >> .tmp
echo " " >> .tmp
echo "See attached report for details." >> .tmp
echo " " >> .tmp

$(which mutt) -a "backup.log" -s "Backup report" $MAIL_RCPT < .tmp
rm -f .tmp backup.log

exit 0


Ce script utilise bien entendu rsync (sur la machine exécutant le script, et sur la machine distante), et mutt pour envoyer le rapport par e-mail après la sauvegarde.

Si ça peut servir ;-)

@+
Avatar de l’utilisateur
braouazou
Amiral
Amiral
 
Messages: 1290
Inscrit le: 26 Fév 2003 01:00
Localisation: Dans les Vosges, au milieu des sapins!


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité