Configuration d’un client backuppc linux avec rsync (simple user)
Dans la suite des tutoriels sur backuppc, voici le billet sur le paramétrage d’un client sous linux et plus précisément uniquement pour le dossier home de l’utilisateur. Car en effet un simple utilisateur n’aura pas les droits nécessaires pour faire des sauvegardes et des restaurations dans des dossiers comme /boot, /var, etc. On va donc commencer par voir le principe de fonctionnement de backuppc pour se connecter à votre ordinateur client. En fait c’est très simple il s’agit d’une connexion via ssh en utilisant une paire de clé qui permettra de s’affranchir de rentrer un login et un mot de passe au serveur backuppc, et donc que tout puisse être automatiser. Si vous désirez en savoir plus sur ssh, j’avais fais précédemment deux articles sur le sujet, allez voir cette page.
Pour illustrer le tutoriel je vais prendre l’exemple suivant :
Sur backuppc serveur :
adresse ip : 192.168.0.20
compte utilisateur : nierdz
Sur backuppc client :
adresse ip : 192.168.0.30
compte utilisateur : bobby
dossiers à sauvegarder : /home/bobby/temp1 et /home/bobby/temp2
On va donc commencer par la création des clés coté serveur pour l’utilisateur backuppc, car c’est lui qui devra pouvoir se connecter automatiquement a votre client.
Sur le serveur :
passage en root :
$ suou pour les ubunteros
$ sudo supuis on passe sur l’utilisateur backuppc :
# su backuppcensuite on genère les clés :
$ ssh-keygen -t rsaVous tapez sur la touche entré pour chaque question et ne rentrez surtout pas de passphrase. Si tous c’est bien déroulé vous devriez avoir vos clés dans /var/lib/backuppc/.ssh
On va ensuite copié la clé publique dans un dossier qui sera accessible depuis le pc client. Pour cela vous devez donc avoir un utilisateur sur votre serveur sur lequel on pourra accéder via ssh depuis le client. Pour l’exemple on va dire que l’utilisateur sur le serveur se nomme nierdz. On va donc coller la clé publique dans son dossier home pour pouvoir y avoir accès via le pc client en ssh. (vous suivez?
)
Mais pour pouvoir coller la clé dans le dossier de notre ami nierdz il faut être root car backuppc n’a pas les droits en écriture dans le dossier /home/nierdz. On repasse donc en root :
$ suou pour les ubuntu users
$ sudo suPuis on copie la clé :
# cp /var/lib/backuppc/.ssh/id_rsa.pub /home/nierdzEt pour finir on va donner les droits à nierdz sur cette clé :
# chmod 777 /home/nierdz/id_rsa.pubEnsuite on va passer sur le pc client pour récupérer la clé publique. Mais avant tout il faut bien penser à être loguer avec le compte utilisateur qui correspond au dossier que l’on veut sauvegarder. Dans notre exemple on va dire que le dossier en question est /home/bobby et que l’utilisateur est donc bobby. Et il faut également penser à installer ssh (client et serveur) (le client sert durant l’installation et le serveur sert pour backuppc) :
$ suou pour les ubunteros toujours :
$ sudo suet on installe ssh :
# apt-get install sshEnsuite se logue sur bobby :
# su bobbyet on se met dans son dossier tant qu’a faire :
$ cd ~Et on va chercher la clé que l’on a copié sur le dossier home sur le serveur :
$ scp nierdz@192.168.0.20:/home/nierdz/id_rsa.pub .Attention il ne faut surtout pas oublier le point à la fin de la ligne de commande qui est précédé d’un espace. Le serveur est à remplacer par l’adresse ip du serveur. Et si vous ne vous êtes jamais connecté sur le serveur en ssh il va vous être demander de taper yes (ou oui selon la localisation de votre OS) pour authentifier le serveur. Puis vous devez simplement entrer le password de nierdz (votre utilisateur sur le serveur) pour télécharger la clé publique.
Ensuite on va copier la clé dans authorized_keys pour que la connexion de backuppc soit automatisée.
$ cat id_rsa.pub >> ~/.ssh/authorized_keysEnsuite on va aller sur le serveur pour effectuer une première connexion afin de ne pas avoir à remplir le fichier /etc/backuppc/.ssh/know_hosts à la main. Laissons debian le faire pour nous. Pour cela il faut effectuer un première connexion avec l’utilisateur backuppc sur le pc client et accepter d’authentifier le serveur ssh (dans notre cas il s’agit donc du client backuppc, et oui c’est tordu
).
Sur le serveur on commence par passer en root :
$ suou toujours pour les mêmes
:
$ sudo suPuis on se connecte avec backuppc :
# su backuppcEt là une étape primordiale car si cela ne fonctionne pas il est inutile d’aller plus loin, c’est que vous avez déconné quelques part…
$ ssh bobby@192.168.0.30Il faut remplacer 192.168.0.30 par l’adresse ip du pc client backuppc et bobby par le compte utilisateur du pc client. Et tapez yes ou oui pour authentifier le serveur.
Il ne vous reste plus qu’a créer un fichier de config du nom de votre host client que vous placerez dans le dossier /etc/backuppc.
Voici un exemple de fichier de configuration :
$Conf{XferMethod} = 'rsync';
$Conf{RsyncShareName} = [
'/home/nierdz/temp1',
'/home/nierdz/temp2'
];
On appellera ce fichier du nom du hostname du client. Par exemple si le client a un hostname qui est linuxhost vous devrez appeler ce fichier linuxhost.pl
Si vous ne savez pas quel est le hostname de votre pc client essayer la commande « hostname » dans un terminal, tout simplement.
Ensuite toujours sur le serveur on va éditer le fichier /etc/backuppc/hosts pour y ajouter notre nouveau client.
# nano /etc/backuppc/hostsà la fin du fichier on ajoute
linuxhost 0 backuppc,bobby
Petite explication :
- linuxhost correspond au hostname de votre pc client
- 0 signifie qu’il a une adresse fixe (que l’on déclarera par la suite dans le fichier /etc/hosts du serveur)
- backuppc signifie que l’utilisateur backuppc peut effectuer des opérations sur linuxhost via l’interface web de backuppc
- bobby est l’utilisateur à qui vous donnez les droits de faire des sauvegardes et restaurations sur le client linuxhost. Il est à noter qu’il n’y a aucun rapport avec le nom de l’user sur le client. On aurait très bien pu utiliser bob au lieu de bobby. Mais à ce moment il aurait fallu se connecter en tant que bob sur l’interface web de backuppc. (j’espère que vous suivez toujours
)
On va d’ailleurs créer le user bobby sur le serveur si ce n’est pas déjà fait (car si vous avez suivi un minimum vous auriez déjà du faire cette manipulation durant l’installation de backuppc sur le serveur).
Création de bobby pour backuppc :
# htpasswd /etc/backuppc/htpasswd bobbyEnsuite on va indiquer l’adresse ip de notre client backuppc dans /etc/hosts
# nano /etc/hostset on ajoute en fin de fichier
192.168.0.30 linuxhostEnsuite on relance backuppc :
/etc/init.d.backuppc restartÉtant donné que backuppc doit se connecter avec un compte utilisateur on va devoir lui spécifier dans l’interface. Rendez vous donc sur http://192.168.0.20/backuppc. Puis Sélectionner votre client>Modifier la configuration>Xfer. Et là vous allez changer les valeurs de RsyncClientCmd et RsyncClientRestoreCmd. Remplacez tous simplement root par le nom du compte de votre client. Dans mon exemple je remplace donc root par bobby dans les deux valeurs.
Il ne vous reste plus qu’a relancer votre serveur backuppc :
/etc/init.d/backuppc restart
Et vous pouvez faire un test pour voir si tout fonctionne. Si vous rencontrez des difficultés ou que vous voulez corriger ou compléter mon billet, n’hésitez pas à laisser un commentaire.


Bonjour,
J’ai fais toutes les manip expliquée et je ne parviens toujours pas à lancer la sauvegarde sur mon client.
Monserveur est sous ubuntu mon client aussi le ssh fonctionne entre les deux machines, le retour d’erreur est :
full backup started for directory /home/laurent/
Running: /usr/bin/ssh -q -x -l root 192.168.0.5 /usr/bin/rsync –server –sender –numeric-ids –perms –owner –group -D –links –hard-links –times –block-size=2048 –recursive –ignore-times . /home/laurent/
Xfer PIDs are now 6760
Read EOF: Connection reset by peer
Tried again: got 0 bytes
Done: 0 files, 0 bytes
Got fatal error during xfer (Unable to read 4 bytes)
Backup aborted (Unable to read 4 bytes)
Not saving this as a partial backup since it has fewer files than the prior one (got 0 and 0 files versus 0)
Mes deux machines ont la même architecture …
Une aide serait la bienvenue !
La sauvegarde locale fonctionne sur le serveur.
Merci
Bonjour Laurent,
J’ai eu le même problème que toi, en fait il semblerait que backuppc essai de se connecter en root sur le pc client, il faudrait que tu te connectes sur le pc client et que tu récupéres la clef comme indiquée plus haut:
scp user@192.168.0.20:/home/user/id_rsa.pub .
tu es connecté en tant que root:
cat id_rsa.pub > ~/.ssh/authorized_keys
tu auras la clef plublique aussi pour l’utilisateur root.
relance le backup depuis le cgi backuppc
Ca a marché pour moi
Salut,
je confirme la soluce d’adrien.
Il m’était arrivé exactement la même chose la première fois que j’ai voulu mettre en place backuppc.
Bonjour,
Pour ma part ça ne fonctionne pas.
J’essaie de mettre en place un backuppc qui devra faire une savegarde d’un autre serveur
Les 2 serveurs utilisés sont des Debian Lenny
sur mon backuppc j’ai effectué :
su – backuppc
ssh-keygen -t rsa
Copierl a clé sur mon serveur à sauvergarder ; j’arrive à me connecter en ssh dessus…
Ensuite j’ai ajouté sur le serveur à sauvegarder dans le fichier /etc/hosts
@IP_du_serveur_backuppc hostname
Idem sur le serveur de backup ; les ping passent bien entre les 2 serveurs
Sur l’interface web backuppc j’ai ajouté mon serveur et passé dans la configuration :
XferMethod : rsync
Et quand je lance une sauvegarde j’ai ceci :
2009-11-10 14:28:21 Got fatal error during xfer (Unable to read 4 bytes)
Dernière information j’ai modifié le fichier de configuration et changer cette variable comme suit :
/etc/backuppc/config.pl
$Conf{TopDir} = ‘/data/backuppc’;
Puis j’ai effectué un :
# chown -R backuppc:backuppc /data/backuppc/
Merci pour votre aide
Et je reconfirme la soluce d’adrien.
Quand tu as ce message d’erreur c’est que backuppc n’arrive pas à se connecter en SSH au serveur.
Pour vérifier que le ssh fonctionne, il faut que tu passe en user backuppc et que tu tentes de te connecter à ton client. Et dans ta situation je pense que ça ne passe pas.
PS : pour passer en user backuppc il faut d’abord faire su puis su backuppc.
euh moi le probleme est un peu diferent quand je lance un backup via rsync le backup se lance consomme tout le cpu du serveur on voit bien la commande tourne sur le serveur comme client mais rien d autre ne se passe des jour durant !
@harry réponse très tardive, mais réponse quand même
. bon j’espère que tu as résolu ton problème, mais sinon je te conseillerai de tout simplement réinstaller backuppc sur le serveur et si ça ne fonctionne pas de changer de version et si ça ne fonctionne toujours pas de le compiler à la mano.
Bonjour,
Un grand merci pour ce tuto sur lequel je me suis appuyé afin de configurer backuppc. Malheureusement, j’ai un soucis dont je n’arrive pas à bout.
Après avoir configuré mon serveur (Debian Lenny) et mon client (Ubuntu Koala), quand je lance la sauvegarde via l’interface html de backuppc, j’obtiens cette erreur :
full backup started for directory /tmp
Aborting backup up after signal PIPE
Got fatal error during xfer (No files dumped for share /tmp)
Je ne comprend pas d’où vient le problème, par vance merci de votre aide.
Bonjour,
J’ai déjà mis en place BackupPC grâce à ce tuto, j’avais réussi. Mais hier, j’ai réessayé et impossible : je n’arrive pas à sauvegarder le client !
J’arrive bien à me connecter en ssh sur le client à partir du serveur.
J’ai bien réussi à récupérer la clé avec la commande scp nierdz@192.168.0.20:/home/nierdz/id_rsa.pub .
Par contre, je n’arrive à copier le contenu d’id_rsa.pub dans le fichier authorized_keys. En effet, ce fichier authorized_keys, je ne l’ai pas ! Pouvez-vous me dire s’il faut le créer ce fichier ou bien s’il devrait déjà être créé ? Et où faut-il qu’il soit ?
Sinon, en lançant la sauvegarde par l’interface web de BackupPC, j’ai cette erreur:
« Xfer PIDs are now 23942
Got remote protocol 1881173838
Fatal error (bad version): No protocol specified
Read EOF:
Tried again: got 0 bytes
fileListReceive () failed
Done: 0 files, 0 bytes
Got fatal error during xfer (fileListReceive failed)
Backup aborted (fileListReceive failed)
Not saving this a partial backup since it has fewer files than the prior one »
Je vous remercie beaucoup d’avance pour votre aide, vraiment.
C’est important pour moi.
++
J’ai un autre message d’erreur:
« full backup started for directory /home/clientssh/test
Running: /usr/bin/ssh -q -x -l clientssh 192.168.1.1 /usr/bin/rsync –server –sender –numeric-ids –perms –owner –group -D
Xfer PIDs are now 23981
Got remote protocol 1881173838
Fatal error (bad version): No protocol specified
(ssh-askpass:23982): Gtk-WARNING **: cannot open display: :0.0
Read EOF:
Tried again: got 0 bytes
fileListReceive () failed
Done: 0 files, 0 bytes
Got fatal error during xfer (fileListReceive failed)
Backup aborted (fileListReceive failed)
Not saving this a partial backup since it has fewer files than the prior one »
C’est donc cette ligne « (ssh-askpass:23982): Gtk-WARNING **: cannot open display: :0.0″ qui s’est rajoutée … Que puis-je faire svp ?
Merci.
En fait, ce message (ssh-askpass:23982): Gtk-WARNING **: cannot open display: :0.0, c’est parce que j’ai fait un test en mettant l’utilisateur « backuppc » au lieu de mettre l’utilisateur « accesssh », je comprends pas tout …
Pouvez-vous m’aider svp ?
Désolé pour le dérangement mais j’ai réussi !!
Je me suis connecté sur le client à partir du serveur en ssh. Ensuite, j’ai fait cette commande:
cat id_rsa.pub > ~/home/clientssh/.ssh/authorized_keys
Dans l’interface web, dans le menu xfer de ma machine, j’ai remplacé root par clientssh, j’ai relancé BackupPC, j’ai relancé la sauvegarde et … miracle !
Ca fonctionne !
Pouvez-vous quand même me dire si cette commande cat id_rsa.pub > ~/home/clientssh/.ssh/authorized_keys doit être faite comme je l’ai fais, c’est à dire : se connecter en ssh à partir du serveur vers le client et exécuter cette commande qui va créer le fichier authorized_keys dans le /home/clientssh/.ssh/ du client ? Est-ce bien cela ?
Car moi je comprenais qu’il fallait se connecter en ssh à partir du client vers le serveur, exécuter la commande scp … et exécuter la commande cat id_rsa.pub > ~/home/clientssh/.ssh/authorized_keys toujours à partir du client! Mais apparemment ce n’est pas ça ?
Merci pour vous éclaircissements. J’aimerai savoir pour que ce soit clair dans ma tête.
++
@raptor45 Salut, tu dois pouvoir te connecter sur le client depuis le serveur.
En fait c’est logique car c’est bien le serveur qui se connecte à ton client pour récupérer les données à sauvegarder.
Relis bien le tutoriel et prends ton temps pour exécuter chaque commande en prenant le temps de comprendre ce que tu fais. Tu verra que tout est logique et ça ira beaucoup mieux.
Désolé pour la réponse un peu tardive, peut-être as-tu déjà résolu ton problème…
Bonjour,
au moment ou je tapes « $ cat id_rsa.pub >> ~/.ssh/authorized_keys » sur le poste client distant il me dit erreur near token »& » je ne vois pas ce que c’est et en retirant >> il me donne une autre erreur comme quoi authorized_keys n’existe pas…
Need some help mercii beaucoup d’avance
Re moi je viens de me rendre compte de ma bêtise cependant la deuxième erreur est toujours présente il faut donc que j’en crée un?
Encore merci
Alors si je comprends bien tu as tapé ça : cat id_rsa.pub ~/.ssh/authorized_keys ???
Car si tu as fais ça c’est inutile. Si il te dit que le fichier authorized_keys n’existe pas tu dois d’abord le créer.
Tu tapes :
touch ~/.ssh/authorized_keys
et ensuite tu pourra taper :
cat id_rsa.pub >> ~/.ssh/authorized_keys
Le mieux pour suivre un tuto est d’essayer de comprendre ce que l’on fait et pas de taper bêtement ce qui est indiqué. Le >> permet d’envoyer la sortie du cat dans le fichier ~/.ssh/authorized_keys sans écraser ce qu’il y avait dedans. Si tu le retires, tu n’ajoutes pas ta clé dans le fichier, tu ne fais donc rien.
Oui mais sa je m’en suis rendu compte après car sur mon ordinateur >> s’était transformé en >>
Et j’ai tapé sa car il me disait qu’il y avait un problème avec token etc…
C’est dans mon deuxième test ou la j’ai retapé correctement ce qu’il fallait.
Une autre question sinon je paramètres une sauvegarde distante et je m’y perds pas mal. Pour le moment j’ai mis en place une autre sauvegarde mais j’aurais aimé approfondir celle ci qui a l’air d’être pas mal…
??? Kesskidi?
Relis toi stp, j’ai beau lire et relire je ne pige rien.
En tout cas, grâce à toi j’ai vu que wordpress mettait automatiquement un espace entre deux ‘>’. J’ai également vu que tiny-mce faisait déconner l’encodage de ce caractère que j’ai donc corrigé et qui s’affiche correctement dans le tutoriel.
Ce que je disais et qu’a automatiquement corriger wordpress c’est que en gros je voyais « & g t » tout attacher, pour pas que j’ai l’air d’un crétin encore une fois :S, au lieu de « > »
Sinon je réessaye le protocole SSH et ce n’est pas clair je crée ma clé rsa tout fonctionne. Ensuite je me connecte en ssh au serveur distant pour copier cette clé et à ce moment là… il met trop de temps.
Que faire j’ai bien taper ma commande et il se fige…
Sinon en quoi le point final à son importance?
Je suis en alternance c’est mes débuts je dois apprendre sur le tas et mon patron penses que je suis le génie de la lampe… Mais je n’arrives pas à allumer mon ampoule donc bref.
Merci pour vos réponses
Lol, ouais tu fais bien de préciser car entre temps j’ai modifié le & g t!

Pour la clé à copier tu n’as peut-être pas les droits suffisants dans le dossier où tu veux la coller.
Sinon le point est important car sinon ça marche pas!
Bah demande lui des sous pour allumer ta lampe, tu verra, des sous ça permet toujours d’allumer les lampes…
PS : si tu galères avec scp tu peux aussi utiliser une bonne vieille clé usb si tu a un accès physique à la machine.
stl ,pour etre bref voici les erreurs que j’ai trouvé dans le fichier de LOG
merci pour une réponse à ce probeme .Je n’arrive pas à faire une sauvegarde pour mes postes client linux et windows alors que j’ai suivi à la lettre ce tutoriel.
je pense que ma configuration est bonne car localhost a été sauvegardé
2010-0Backup number for host seydina-desktop does not exist.
8-02 10:00:01 Can’t find host pc-de-saes via netbios
salut a tout
j’ai tu fait … la connection entre le serveur de sauvgarde est les postes client (linux ubuntu ) établer… tout l’air bien … Mais la souvgarde ne déclanche pas automatiquement … et j’ai pas remarque que les sauvgardes sont incrimenté …
plz ou est l’erreure
Bonjour,
Nous avons mis Backuppc en place dans notre Société.
Cela fonctionne en grande partie
En revanche je ne m’explique tjrs pas pourquoi lors de certaine mise en place…
La sauvegarde tourne pendant de jours et ne sauvegarde rien, les authentifications se faut bien , on voit bien les process rsync apparaître sur le serveur Backuppc et le client.
Mais pas de retour d’erreur autre.
la sauvegarde est en erreur lorsque je la stop manuellement.
Es qu’il y a quelque retour d’expérience sur ce genre d’incident ?
qu’es qui pourrait clocher ??
en vous remerciant
Nan pas eu ce genre de couille avec bpc. Par contre il s’agit peut-être de droit sur les fichiers ? (oui je sais, la réponse arrive tard mais ce blog est un peu le truc que je viens consulter quand j’ai le temps)