BackupPC/fr
Mainteneur
[1]Daniel B. de Firewall Services
Version
Description
BackupPC est un système puissant et performant utilisé pour sauvegarder sur disque un ensemble de postes clients et de serveurs, sous Unix, Linux, Windows ou Mac OSX. BackupPC est extrêmement configurable et facile à installer et à maintenir.
Avec la baisse du coût des disques et des systèmes RAID, il est pratique et rentable pour sauvegarder un grand nombre de machines sur le disque local d'un serveur ou stockage en réseau. C'est ce que fait BackupPC. Pour certains sites, cela pourrait être la solution de sauvegarde complète. Pour les autres sites, d'autres archives permanentes pourraient être créées périodiquement sur bandes magnétiques. Une variété de systèmes Open Source sont disponibles pour faire des sauvegardes sur bande.
BackupPC est écrit en Perl et extrait les données à sauvegarder via SMB en utilisant Samba, tar sous ssh/rsh/nfs ou rsync. Il est robuste, fiable, bien documenté et librement disponible en open source sur SourceForge.
Plus d'information et de support sont disponibles sur http://backuppc.sourceforge.net
Fonctionalités
Un système intelligent de mise en commun réduit au minimum le stockage sur disque et les Entrées/Sorties disque. Les fichiers identiques dans plusieurs sauvegardes des PC identiques ou différents sont stockés qu'une seule fois d'où une économie substantielle de stockage sur disque et d'Entrée/Sortie sur disque.
Un exemple d'utilisation de disque : 95 ordinateurs portables avec chaque sauvegarde complète pèse en moyenne 3,6 Go chacune, et chaque sauvegarde incrémentale d'environ 0,3 GB. Le stockage de trois sauvegardes hebdomadaires complètes et de six sauvegardes incrémentales par ordinateur portable est d'environ 1200 Go de données brutes, mais en raison de la mise en commun et de la compression seulement 150 Go sont nécessaires.
Le support optionnel de la compression réduit encore le stockage sur disque. Étant donné que seuls les nouveaux fichiers (non déjà mis en commun) ont besoin d'être compressés, il n'y a qu'un impact modeste sur le temps CPU.
Aucun logiciel client n'est nécessaire. Le protocole SMB standard est utilisé pour extraire des données de sauvegarde sur les clients Windows. Sur les clients Linux, tar sous ssh / rsh / nfs est utilisé pour sauvegarder les données. Avec la version 2.0.0, rsync est également supporté sur n'importe quel client qui a rsync ou rysncd.
Une puissante interface web (http / cgi) permet aux administrateurs de visualiser les fichiers de log, de configuration, le statut actuel et permet aux utilisateurs d'ouvrir et d'annuler les sauvegardes et les parcourir et de restaurer des fichiers à partir de sauvegardes.
Une série complète d'options de restauration est prise en charge, y compris la restauration directe (via smbclient, tar ou rsync/rsyncd) ou le téléchargement d'un fichier zip ou tar.
Prise en charge des environnements mobiles où les portables ne sont que sporadiquement connectés au réseau et qui ont des adresses IP dynamiques (DHCP).
Les paramètres de configuration flexibles permettent des sauvegardes multiples qui doivent être effectuées en parallèle, la spécification dont les actions à sauvegarder, les répertoires à sauvegarder ou à ne pas sauvegarder, des horaires différents pour les sauvegardes complètes et incrémentales, horaires des courriels de rappel pour les utilisateurs et ainsi de suite. Les paramètres de configuration peuvent être définis pour l'ensemble du système, ou encore sur une base par PC.
Les utilisateurs reçoivent des rappels périodiques si leur PC n'a pas récemment été sauvegardé. Le contenu du courrier électronique, le calendrier et les politiques sont configurables.
Testé sur les serveurs Linux, Freenix et Solaris et avec des clients Linux, Windows 95, Windows 98, Windows 2000, Windows XP et Windows Vista.
Documentation détaillée.
Open Source hébergé par SourceForge et distribué librement sous licence GPL.
Exigences
- KOOZALI SME Serveur 7.x, 8.x ou 9.x.
- un volume dédié est recommandée (qui peut être un simple disque ou des disques en RAID)
Installation
- Monter un volume sur /var/lib/BackupPC
Cette partie est facultative mais fortement recommandée. Les sauvegardes doivent toujours être sur un volume séparé. Premièrement, préparer votre disque dur pour le système de fichiers ext3 (vous pouvez utiliser tous les systèmes de fichiers qui sont supportés, j'utilise toujours ext3 car il est très fiable) Dans cet exemple, j'utilise une simple partition /dev/sdb1, il pourrait aussi être une matrice RAID (/dev/md3) ou un volume logique (LVM, ou une combinaison de RAID et LVM). En passant, si vous savez comment gérer LVM, son utilisation est également recommandée car il sera plus facile de gérer les données des sauvegardes plus tard.
mkfs.ext3 -L BACKUPPC -m 1 /dev/sdb1
Maintenant, nous avons besoin pour créer le répertoire
mkdir -p /var/lib/BackupPC
Ajouter le point de montage dans fstab. Il suffit d'ajouter quelque chose comme :
/dev/sdb1 /var/lib/BackupPC ext3 noatime 0 0
Et contrôler si tout est correct
mount -a mount | grep BackupPC /dev/sdb1 on /var/lib/BackupPC type ext3 (rw,noatime)
- créer des liens symboliques
Cette partie est facultative mais recommandée. Avec ces commandes, tous les fichiers liés BackupPC (config et logs) seront stockés sur le volume de BackupPC. Vous serez alors en mesure d'échanger le disque BackupPC entre deux serveurs.
mkdir -p /var/lib/BackupPC/{etc,log} ln -s /var/lib/BackupPC/etc /etc/BackupPC ln -s /var/lib/BackupPC/log /var/log/BackupPC
- installer le paquet (SME 9.x)
yum --enablerepo=smecontribs install smeserver-BackupPC signal-event backuppc-update
Vous devriez maintenant être en mesure d'accéder à l'interface dans le gestionnaire du serveur ou directement sur https://mon.domaine.tld/BackupPC
Vous trouverez trois exemples de configuration :
- smeserver-template est un exemple de fichier de configuration de sauvegarde de serveur KOOZALI SME uniquement.
- localhost-template est un extrait du fichier de configuration pour sauvegarder le serveur lui-même.
- windows-template est un exemple de sauvegarde d'un hôte Windows en utilisant Cygwin + rsyncd.
Pour créer un hôte à l'aide d'un modèle, créer un nouvel hôte, ajouter = <nom_du_modèle>.
Par exemple :
MonServeur=smeserver-template
Lorsque vous exécutez, la configuration de smeserver-template sera copiée sur MonServeur. Vous pouvez ensuite modifier la configuration de MonServeur.
Mise à jour depuis smeserver-backuppc.fws-3.0-1
Si vous utilisez déjà la version précédente de la contrib, certaines autres étapes sont nécessaires : l'emplacement par défaut des sauvegardes a changé depuis /opt/backuppc/fichiers dans /var/lib/BackupPC
Le plus simple est de lier symboliquement l'ancien emplacement vers le nouveau :
ln -s /opt/backuppc/files /var/lib/BackupPC
Ensuite, vous pouvez installer la nouvelle version :
yum --enablerepo=smecontribs install smeserver-BackupPC
Ensuite, il suffit d'entrer les commandes suivantes :
mv /etc/BackupPC/config.pl.back /etc/BackupPC/config.pl mv /etc/BackupPC/hosts.back /etc/BackupPC/hosts mv /etc/BackupPC/pc/localhost.pl.back /etc/BackupPC/pc/localhost.pl db configuration delprop backuppc version usermod -d /var/lib/BackupPC/ -m backuppc mv /home/e-smith/files/users/backuppc/.ssh/ /var/lib/BackupPC/ signal-event backuppc-update
Cela devait être ok ;)
Propriétés de la base de données
Il n'y a que deux propriétés que vous pouvez modifier :
- status: (enabled|disabled) Voulez-vous que le service démarre automatiquement au démarrage du serveur ?
- examples: (enabled|disabled) Voulez-vous que les fichiers d'exemple de configuration soient ajoutés de nouveau s'ils sont supprimés ?
- sudo: une liste de commandes backuppc qui pourront être exécutées en tant que root en utilisant sudo. La valeur par défaut est "/usr/bin/rsync, /bin/gtar".
Lorsque vous avez configuré, vous devez exécuter :
signal-event backuppc-update
Comme exemple, si vous voulez pouvoir démarre par le LAN (wake on lan) :
config setprop backuppc sudo `config getprop backuppc sudo`,/sbin/ether-wake signal-event backuppc-update
Ajouter ensuite simplement un script à votre commande «prebackup» ou «ping» comme :
#!/bin/sh # Configure l'adresse mac pour chaque hôte host1_mac=<mac address> host1_name=<host name> host2_mac=<mac address> host2_name=<host name> # Durée de démarrage de l'hôte boottime=120 # Interface d'envoi des paquets WoL interface=eth0 # Fonction d'essai du ping des hôtes pingcheck() { ping -w 5 -c 2 $1 export pingstatus=$? } case $1 in host1) sudo etherwake -i $interface $host1_mac sleep $boottime pingcheck $host1_name exit $pingstatus ;; host2) sudo etherwake -i $interface $host2_mac sleep $boottime pingcheck $host2_name exit $pingstatus ;; *) echo "Unknown machine $1" exit 1 ;; esac
NB : si vous utilisez l'utilisateur d'administration par défaut de backuppc, vous devrez utiliser le chemin complet pour les commandes précédentes ;
les scripts ne doivent pas être placés dans /etc/BackupPC car les droits seront modifiés.
Operations
Sauvegarder un serveur KOOZALI SME
Pour configurer un client SME Server pour être sauvegardé en utilisant une configuration fondée sur la condition smeserver-template, configurer SSH à partir du serveur de sauvegarde comme suit :
[root@backupserver ~]# su -s /bin/bash backuppc bash-3.2$ ssh-keygen -t rsa -b 2048 (utiliser une phrase de passe vide) bash-3.2$ cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh root@myserver.mydomain.com \ "cat >> /root/.ssh/authorized_keys2" (confirm the host key)
Restaurer ou migrer un serveur KOOZALI SME
Si vous voulez simplement restaurer quelques fichiers ou tout un répertoire, vous devez utiliser l'interface web, et, en quelques clics, vous avez terminé, vos fichiers restaurés directement à leur place, ou à une autre si vous le voulez.
Cela comprend la possibilité d'utiliser cette sauvegarde complète ou presque complète, pour utiliser l'option de restauration lors de l'installation d'un nouveau système d'exploitation, ce qui vous aidera à migrer entre les versions.
- modifier SERVERNAME avec le nom réel de votre sauvegarde ;
- modifer -n -1 avec le numéro de la sauvegarde complète la plus récente que vous voulez utiliser (-1 signifie par rapport à la fin : la dernière disponible dans ce cas).
su - backuppc -s /bin/sh cd ~ mkdir MaRestauration cd MaRestauration/
Pour inclure et restaurer tout ce qui est à l'extérieur du répertoire habituellement sauvegardé dans le serveur KOOZALI SME :
/usr/share/BackupPC/bin/BackupPC_tarCreate -h SERVERNAME -n -1 -s / / > smeserver.tar
La sauvegarde de base dans la console du serveur KOOZALI SME serait l'équivalent de :
/usr/share/BackupPC/bin/BackupPC_tarCreate -h SERVERNAME -n -1 -s / home/e-smith etc/e-smith/templates-custom etc/e-smith/templates-user-custom \ etc/ssh root etc/sudoers etc/passwd etc/shadow etc/group etc/gshadow etc/samba/secrets.tdb etc/samba/smbpasswd > smeserver.tar
Il vous suffit ensuite de copier ceci sur un disque USB, ou bien de le copier sur un disque virtuel si votre SME est virtualisé et ne peut brancher aucun périphérique USB :
mkdir /mnt/MonDisque mount /dev/disk/by-label/MonDisque /mnt/MonDisque mv /var/lib/BackupPC/myrestore/smeserver.tar /mnt/MonDisque/ umount /mnt/MonDisque/
- Installer le serveur KOOZALI SME ;
- redémarrer ;
- brancher votre disque quand vous voyez l'écran demandant si l'on souhaite effectuer une restauration ;
et vous avez fini.
Sauvegarder un hôte Linux au moyen de rsync
Pour qu'un client hôte Linux soit sauvegardé, configurer SSH du serveur de sauvegarde comme suit de façon à échanger les certificats afin de permettre un accès sans mots de passe.
Sur le serveur BackupPC, en ligne de commande en tant que «root» :
su -s /bin/bash backuppc ssh-keygen -t rsa -b 2048 # utiliser une phrase de passe vide exit
En supposant que l'accès SSH au serveur distant à sauvegarder est déjà configuré, exécuter en tant que «root» :
su -s /bin/bash backuppc ssh-copy-id -i ~backuppc/.ssh/id_rsa.pub root@votre.nom.d_hote exit
Vous pouvez tester l'échange de clés :
su -s /bin/bash backuppc #devenir l’utilisateur de backuppc ssh -l root votre.nom.d_hote # ajouter "-p 2222" pour le port 2222 exit #sortir du serveur distant exit #fermer la session d'utilisateur backuppc pour revenir à «root»
Vous devriez être capable de vous connecter sans mot de passe.
Note : il y a des fois où l'utilisateur backuppc a besoin d'un vrai shell specifié dans /etc/passwd, par exemple, quand l'utilisateur backuppc est utilisé pour démarrr des commandes «sudo» ou des scripts pre/post.
Maintenant vous pouvez accéder au panneau d'administration de backuppc pour configurer votre hôte.
Sauvegarder un client Windows avec rsync
Pour configurer un client Windows de façon à être sauvegardé via rsync, installer rsync sur le client Windows. rysnc a besoin de fonctionner comme un service sur le client Windows pour assurer la communication. Il y a plusieurs options/versions de rsync – la première fois que j'étais capable de faire fonctionner était à partir de http://sourceforge.net/projects/backuppc/files/cygwin-rsyncd/2.6.8_0/ Le fichier zip contient 7 fichiers – le site fournit plus de détail sur chacun des fichiers. La façon dont vous souhaitez utiliser BackupPC déterminera les fichiers à éditer. J'utilise rsync sans clés ssh – pour cela, créer un utilistauer local avec des droits suffisants sur le ou les répertoires du client Windows, puis éditer le fichier rsync.secrets pour insérer l'identifiant et le mot de passe de l'utilisateur. Vous devez ensuite utiliser les mêmes identifiant et mot dans la page web BackupPC de configuration – où vous choisissez de sauvegarder le client avec Samba, rsync etc. Le contenu du fichier rsync.secrets est simple :
UserID:Password
Vous devez créer un «partage Cygwin» sur le poste Windows – ce qui se fait en utilisant le fichier rsync.conf. Le «partage Cygwin» est le nom indiqué entre crochets. Mon fichier rsync.conf, avec un nom de partage de «cdocs» (après avoir retiré toute information personnelle, naturellement), ressemble à ceci :
[cdocs] path = c:/User comment = c: Drive documents auth users = <valid-back-up-user> secrets file = c:/rsyncd/rsyncd.secrets hosts allow = 192.168.1.1 strict modes = false read only = true list = false
Nous avons le nom partagé (cdocs), le chemin, l'utilisateur valide créé sur le client Windows, le chemin vers le fichier rysnc.secrets, un hôte autorisé (ce peut être l'IP du serveur local de sauvegarde), les modes, read only et list. Les options sont le plus souvent exprimées dans le fichier – qui n'apparaissent pas ainsi si vous avez une version différente de rsync, le fichier rsync.conf apparaît légèrement différent. Celui-ci est celui de rsync 3.0.9.
[cdocs] Path = /cygdrive/c/Users/<USERNAME> comment = c: User Data strict modes = false auth users = <valid-back-up-user> secrets file = c:/rsyncd/rsyncd.secrets hosts allow = 192.168.1.1 read only = false list = false
Pour que rsync fonctionne correctement, la dernière chose à faire est de charger rsync comme un service sur le client Windows. Le fichier service.bat montre la commande suivante pour accomplir cela :
c:/rsyncd/rsync.exe -a "--config=c:/rsyncd/rsyncd.conf --daemon --no-detach"
Il y a aussi une «gotcha» (fonctionnalité contre-intuitive, difficile à trouver - wiki) – parfois le port 873 est bloqué par le mur de feu (Firewall) de Windows, aussi vous pouvez avoir besoin d'arranger cela.
Supprimer les sauvegardes
- Supprimer toutes les sauvegardes d'un client
rm -rf /var/lib/BackupPC/pc/<client>/ sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg BackupPC_nightly run
- Supprimer une sauvegarde d'un client
cd /var/lib/BackupPC/pc/<client>/ ls rm -fR <backup_number> sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg BackupPC_nightly run
Après cela, vous verrez l'espace récupéré et vous pouvez le vérifier avec df, mais vous devez toujours supprimer la ligne statistique, sinon vous le verrez dans votre interface web. Pour faire ça :
nano /var/lib/BackupPC/pc/<client>/backups
Avec ctrl+k, vous pouvez supprimer la ligne contenant <backup_number>.
Reconnectez-vous à votre interface web et voila ! Il n'y a plus la ligne <backup_number>.
Problèmes connus
- Au redémarrage du service BackupPC, vous pouvez recevoir l'erreur indiquée ci-dessous :
[root@backuppc ~]# service backuppc restart
Shutting down BackupPC: [ OK ] Starting BackupPC: [ OK ] BackupPC: WARNING: Your BackupPC $Conf{TopDir} is not listed in the locate BackupPC: database configuration's PRUNEPATHS. This may cause all of your BackupPC: backed up files to be indexed!
Pour supprimer l'alerte
Vous devez créer un fragment de modèle personnalisé /etc/e-smith/templates-custom/etc/updatedb.conf/10conf (copier le fragment par défaut /etc/e-smith/templates/etc/updatedb.conf/10conf)
mkdir -p /etc/e-smith/templates-custom/etc/updatedb.conf/ cp /etc/e-smith/templates/etc/updatedb.conf/10conf /etc/e-smith/templates-custom/etc/updatedb.conf/
ajouter le répertoire /var/lib/BackupPC à la liste PRUNEPATHS, puis
expand-template /etc/updatedb.conf
- “aborted by signal=PIPE”
Parfois la sauvegarde échoue avec cette erreur, cette erreur est relative au service ssh distant. Vous devez configurer dans le fichier /etc/ssh/ssh_config de votre hôte distant
ServerAliveInterval 120
puis redémarrer votre service ssh
Une autre manière peut consister à régler dans les réglages de backupPC (RsyncClientCmd), la valeur par défaut pour tous les hôtes :
$Conf{RsyncClientCmd} = '$sshPath -o ServerAliveInterval=120 -q -x -l root $host $rsyncPath $argList+';
- En essayant de sauvegarder un serveur KOOZALI SME, vous pouvez rencontrer une erreur ou un dépassement de temps sur ssh, c'est à cause de la fonction AutoBlock sur sshd qui est activée par défaut sur SME 9.x.
config setprop sshd AutoBlock disabled signal-event remoteaccess-update
Désinstaller
yum remove smeserver-BackupPC BackupPC
Bugs
Merci de faire parvenir les problèmes à SME-Contribs sur bugzilla en sélectionnant le logiciel smeserver-BackupPC or ou en utilisant ce lien
Aperçu ci-dessous des problèmes courants de cette contribution :
ID | Product | Version | Status | Summary (4 tasks) ⇒ |
---|---|---|---|---|
12197 | SME Contribs | 10.0 | CONFIRMED | cleanup /var/log/httpd-bkpc/ |
12196 | SME Contribs | 10.0 | CONFIRMED | remove old way logrotate |
12123 | SME Contribs | 10.0 | CONFIRMED | import deps from fws |
11517 | SME Contribs | 10.0rc | CONFIRMED | cleanup remove use of sv run script for service |
Changelog
Seules les versions publiées dans smecontrib sont listées ici.
- expand-updatedb-conf patch [SME: 10513]
- $Conf{TopDir} not in locate configuration's PRUNEPATHS [SME: 10513]
2022/07/31 Jean-Philippe Pialasse 0.2-13.sme
- update to httpd 2.4 syntax [SME: 12036]
- Re-build and link to latest devtools [SME: 11997]
- update to httpd 2.4 syntax [SME: 12036]