Outils pour utilisateurs

Outils du site


doc:backuppc:backuppc

backuppc

backuppc est une des solutions possibles de sauvegarde.

Installation

Installation sur Debian sarge

# aptitude install backuppc

Viennent en dépendances (au moins) :

backuppc libarchive-zip-perl perl-suid samba-common smbclient wwwconfig-common

Questions debconf

(Probablement samba-common.)

Q1 : « Samba Server » me demande « Groupe de travail et nom de domaine ? ». Je laisse vide.

Q2 : Il me demande aussi si je veux chiffrer les mots de passe : Je laisse le « oui » par défaut.

Q3 : « Modifier smb.conf pour utiliser les paramètres WINS fournis par DHCP ? ». Je laisse le « non » par défaut.

Configuration de backuppc (debconf)

Q : « Ajouter un alias pour /backuppc/ dans votre configuration d'apache ? ». Oui (choix par défaut). J'utilise apache2 qui est déjà installé.

En fait, il ajoute la ligne

Include /etc/backuppc/apache.conf

dans /etc/apache2/httpd.conf.

NB : « Création de l'utilisateur par défaut pour l'administration Web » (il s'agit de backuppc). Remarques :

BackupPC peut être géré avec une interface Web :
http://localhost.localdomain/backuppc/

Il me donne le mot de passe de l'utilisateur backuppc sur la machine local. Ce mot de passe est critique car backuppc aura plus tard l'accès root sur les machines qu'il sauvegarde.

Vous pouvez changer ce mot de passe avec la commande « htpasswd /etc/backuppc/htpasswd backuppc ».

Installations pour ssh+rsync

# aptitude install libfile-rsyncp-perl

Configuration

Déplacement du répertoire de sauvegarde

Les sauvegardes seraient conservées (par défaut) dans /var/lib/backuppc/ que je remplace par un répertoire de mon choix (ici /var/local/unique/backuppc/).

# invoke-rc.d backuppc stop
# mv /var/lib/backuppc /var/local/unique
# ln -s /var/local/unique/backuppc /var/lib/backuppc
# invoke-rc.d backuppc start

Envoi de courriels avec exim4

J'ajoute dans /etc/email-addresses :

# Pour backuppc.
backuppc: Frederic.Lehobey.PRO@free.fr

pour que les messages puissent partir de la machine car la config par défaut est :

$Conf{EMailFromUserName} = 'backuppc';
$Conf{EMailAdminUserName} = 'backuppc';

Optimisation

Minimiser les accès disques en montant la partition de sauvegarde sans marquer les horodatages (backuppc n'en a pas besoin).

Rappel : l'option default (man mount) dans fstab tient pour rw, suid, dev, exec, auto, nouser, et async.

Je modifie donc dans mon /etc/fstab :

/dev/sda1       /var/local/unique ext3	rw,nosuid,nodev,noexec,auto,nouser,async,noatime 0       2

Accès de l'utilisateur backuppc à rsync par sudo

Le but est d'éviter un passage par ssh (inutile) pour la sauvegarde locale de la machine locale (quand cela est pertinent).

(Selon la FAQ officielle.)

# aptitude install sudo

Modification de /etc/sudoers (par visudo) de la façon suivante :

backuppc  ALL=NOPASSWD: /usr/bin/rsync

Clefs ssh sans phrases de passe

La porte ouverte à tous les dangers. Pour appliquer la méthode Xfer ssh+rsync.

(Selon la FAQ officielle.)

Création de la clef ssh de l'utilisateur backuppc :

# su - backuppc
$ ssh-keygen -t rsa

Avec les choix par défaut :

Enter file in which to save the key (/var/lib/backuppc/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
$ cp ~/.ssh/id_rsa.pub ~/.ssh/BackupPC_id_rsa.pub

La 3e étape n'est pas nécessaire, c'est juste mnémotechnique et pour faire comme la doc de la FAQ.

Exclus de sauvegarde

Sur les systèmes GNU/Linux, exclusion des répertoires /proc, /sys /mnt et /media.

Par sécurité, j'exclus aussi la sauvegarde des trousseaux secrets de gpg (secring.gpg).

Et, par convention personnelle, j'exclus les répertoires /var/local/unique (données non sauvegardées).

Ce qui donne une ligne à mettre dans les /etc/backuppc/poste.pl (cela marche avec la méthode Xfer rsync) :

$Conf{BackupFilesExclude} = [ '/proc', '/sys', '/var/local/unique', 'secring.gpg', '/mnt', '/media' ];

Gentil partout

Nous allons être gentil aussi bien sur la machine sauvegardée que sur la machine de sauvegarde. Ce qui donne les paramétrages suivants (à mettre dans /etc/backuppc/nomdemachine.pl).

Pour la méthode Xfer ssh+rsync

$Conf{RsyncClientCmd} = 'nice -n 19 $sshPath -q -x -l root $host nice -n 19 $rsyncPath $argList+';

Pour la méthode Xfer sudo+rsync

$Conf{RsyncClientCmd} = 'nice -n 19 sudo $rsyncPath $argList+';

NB : il y a aussi la commande

$Conf{RsyncClientRestoreCmd} = 'sudo $rsyncPath $argList+';

qui est concernée par sudo (mais qui n'est pas ici gentille).

Messages en français

(Auxquels j'ai contribué.)

Dans /etc/backuppc/config.pl, je mets :

# Currently the Language setting applies to the CGI interface and email
# messages sent to users.  Log files and other text are still in English.
#
$Conf{Language} = 'fr';

NB : Il n'y a donc pas de négociation de contenu. Ce serait un truc sympa pour l'avenir.

Déploiement

Pour ajouter une nouvelle machine :

  • créer son nomdemachine.pl ;

Pour moi, dans le répertoire /etc/backuppc (par exemple) :

# ln -s ssh+rsync nomdemachine.pl

Installation de la clef de backuppc (ssh+rsync)

En tant qu'utilisateur backuppc :

$ ssh-copy-id -i /var/lib/backuppc/.ssh/BackupPC_id_rsa.pub root@nomdemachine

Vérification

Notamment que rsync est aussi présent sur l'autre poste.

$ ssh -l root nomdemachine rsync --version

Ressources

Fichiers de configuration

Autres ressources

Diverses

rsync et ssh sur Windows

  • Le paquet cwrsync (aussi ici), probablement pour Cygwin rsync, recommandé par Yann Morere a l'air intéressant.
doc/backuppc/backuppc.txt · Dernière modification: 2008/06/16 23:05 par lehobey