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 (>=)
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
- Installation
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
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
- Configuration
- Admin
L’admin réponds sous apache et unix au login « backuppc », et on en change le password comme suit :
- 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):
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