Backuppc : Installation et configuration

BackupPC est utilisé pour sauvegarder un ensemble de postes clients et de serveurs. Il possède une interface Web pour lancer des sauvegardes ou restaurer des fichiers. Il est également possible de sauvegarder des bases de données.

BackupPC permet de sauvegarder automatiquement à des intervalles de temps réguliers des répertoires situés sur des machines du réseau.

ATTENTION : Suite à une faille dans le paquet verifiez que votre version soit pour suffisante (>=)

Ubuntu 8.04 LTS:
backuppc 3.0.0-4ubuntu1.1

Ubuntu 8.10:
backuppc 3.1.0-3ubuntu2.1

Ubuntu 9.04:
backuppc 3.1.0-4ubuntu1.1

Source : http://www.linuxsecurity.com/content/view/150309

NOTE : la version disponible dans les dépôts répond à cet impératif

aptitude show backuppc
    Installation
apt-get install backuppc

Par defaut Backuppc souhaite passer par root pour pouvoir faire des backups de systèmes entiers. On corrige ce defaut de 2 manieres :

    En modifiant le template utilisé à la création des hôtes
nano /etc/backuppc/config.pl

En ciblant les paramétres intéressants

#
# The BackupPC user.
#
$Conf{BackupPCUser} = ‘backuppc’;
#
# Important installation directories:
#
# TopDir – where all the backup data is stored
# ConfDir – where the main config and hosts files resides
# LogDir – where log files and other transient information
# InstallDir – where the bin, lib and doc installation dirs reside.
# Note: you cannot change this value since all the
# perl scripts include this path. You must reinstall
# with configure.pl to change InstallDir.
# CgiDir – Apache CGI directory for BackupPC_Admin
#
$Conf{TopDir} = ‘/var/lib/backuppc’;
$Conf{ConfDir} = ‘/etc/backuppc’;
$Conf{LogDir} =  »;
$Conf{InstallDir} = ‘/usr/share/backuppc’;
$Conf{CgiDir} = ‘/usr/share/backuppc/cgi-bin’;
#
# Path to rsync executable on the client
#
$Conf{RsyncClientPath} = ‘/usr/bin/rsync’;
#
# Full command to run rsync on the client machine. The following variables
# are substituted at run-time:
#
# $host host name being backed up
# $hostIP host’s IP address
# $shareName share name to backup (ie: top-level directory path)
# $rsyncPath same as $Conf{RsyncClientPath}
# $sshPath same as $Conf{SshPath}
# $argList argument list, built from $Conf{RsyncArgs},
# $shareName, $Conf{BackupFilesExclude} and
# $Conf{BackupFilesOnly}
#
# This setting only matters if $Conf{XferMethod} = ‘rsync’.
#
$Conf{RsyncClientCmd} = ‘$sshPath -q -x -l root $host $rsyncPath $argList+’;

A modifier, donc le root ci dessus

    En modifiant à chaque hôte spécifique le fichier « hote » comme ci-dessus
nano /etc/backuppc/hote.pl

    Configuration

    Admin

L’admin réponds sous apache et unix au login « backuppc », et on en change le password comme suit :

sudo htpasswd /etc/backuppc/htpasswd backuppc
    Hotes à backup-er

Il y a 3 solutions pour contacter une machine sur le réseau, via :
* Dans l’ordre graduel
** /etc/hosts (possibilité de passer dans le VPN en intranet)
** dns (local&root)
** dns & forward de port

Pour créer un hôte à backup-er, on accède à l’interface web et on se log en backuppc :

http://192.168.10.xx/backuppc/

    Ajout d’un hote

** __Edit Hosts__
** On ajoute l’hote (dns) et le user qui sera utilisé
** __Admin Options__ > __Reload__
** On selectionne l’hôte ajouté
** __Select Host__ > __Edit config__ > __Xfer__
** On choisi (rsync pour du unix)
** On met à jour les champs *RsyncShareName* qui représentent les path à backup-er
** On met a jour l’utilisateur dans les champs *RsyncClientCmd* et *RsyncClientRestoreCmd*
* __Relance du serveur__
** Par la console : sudo /etc/init.d/backuppc restart
** Par mode graphique : __Admin Options__ > __Reload__

    Connection ssh par PKI

Pour fonctionner, l’utilisateur unix backuppc doit pouvoir établir une session ssh sur l’hôte à backup-er. on va donc inscrire les clés du serveur Backuppc dans chaque hôte avec l’utilisateur spécifique (pour assurer un minimum de sécurité le compte *root* et le group *admins* ne devrait pas utiliser ce système)

* Sur le serveur Backuppc (pour une direction user@hote:22):

sudo -s
su – backuppc
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_dsa.pub « -p 22 user@hote »
ssh -p 22 user@hote « echo $(cat ~/.ssh/id_dsa.pub) >> .ssh/authorized_keys »
ssh -p 22 user@hote

Si la dernière connexion ssh passe sans demander le mot de passe, le boulot est fait. sinon vérifiez les messages d’erreurs des connections ssh

    Utilisation

* Via l’interface graphique dans le home de l’hote
** __hote Home__ > __Start Full Backup__
** Puis on verifie (rapidement) dans __Server status__
** Pour valider on retourne sous l’hote pour parcourir le backup
** __hote Home__ > __Browse Backups__

Il reste ensuite à configurer le planning de sauvegarde

    Dépannage

Si vous tombez sur ce message d’erreurs : *Got fatal error during xfer (Unable to read 4 bytes)*

Passez en user backuppc sur le serveur backuppc et lancer

/usr/share/backuppc/bin/BackupPC_dump -v -f hote(ip/dns)

Zephilou

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Post comment