BackupPC/fr

From SME Server
Jump to navigation Jump to search


Mainteneur

[1]Daniel B. de Firewall Services

Version

Contrib 10:
Contrib 9:
smeserver-BackupPC
The latest version of smeserver-BackupPC is available in the SME repository, click on the version number(s) for more information.


Contrib 9:
BackupPC
The latest version of BackupPC is available in the SME repository, click on the version number(s) for more information.


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, ce pourrait être aussi 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 plus tard les données des sauvegardes.

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

qui renvoie :

/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.

La première chose à faire est de mettre le menu en français. Pour cela, dans le menu de gauche, cliquer sur « Edit config ». Sur la page qui s'affiche (Main Configuration Editor), il y a 5 onglets. Cliquer sur l'onglet « CGI ».

Dans le deuxième cadre « Page Rendering », la première ligne permet de définir le paramètre « Language » avec la liste déroulante sur « fr ». Cliquer sur le bouton « Save » en haut de la page, qui s'est allumé en rouge du fait de la modification.

Vous pouvez maintenant cliquer sur le menu « Edit Hosts » dans la liste de gauche et tous les textes passent en français.

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.

  Note :
pour fermer la session, soit il faut aller sur le gestionnaire du serveur et se déconnecter (BackupPC utilise la même session que pour le gestionnaire du serveur), soit il faut fermer le navigateur, ce qui supprime le cookie de session.


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


  Note :
si vous apportez des modifications aux propriétés de "sudo", vous devez ensuite vérifier la syntaxe de sudoers pour être sûr(e) que tout est OK. Pour cela, vous devez exécuter
 visudo

Et fermez le fichier. Si visudo détecte une erreur, il vous le dira.


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 le modèle smeserver-template, configurer SSH à partir du serveur de sauvegarde comme suit :

[root@backupserver ~]# su -s /bin/bash backuppc
bash-4.1$ ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/BackupPC/.ssh/id_rsa):

Accepter le nom de fichier par défaut.

Created directory '/var/lib/BackupPC/.ssh'.
Enter passphrase (empty for no passphrase):

Utiliser une phrase de passe vide.

Enter same passphrase again: 
Your identification has been saved in /var/lib/BackupPC/.ssh/id_rsa.
Your public key has been saved in /var/lib/BackupPC/.ssh/id_rsa.pub.
The key fingerprint is:
01:23:45:67:89:ab:cd:de:fg:hi:jk:lm:no:pq:rs:tu backuppc@backupserver
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
+-----------------+

bash-4.1$ cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 1234 root@myserver.mydomain.com \                   #-p si vous utilisez un port différent du conventionnel 22
"cat >> /root/.ssh/authorized_keys2"
The authenticity of host '[192.168.x.y]:1234(numéro du port si différent de 22) ([192.168.x.y]:1234)' can't be established.
RSA key fingerprint is ab:cd:de:fg:hi:jk:lm:no:pq:rs:tu:01:23:45:67:89.
Are you sure you want to continue connecting (yes/no)?

Accepter la clé de l'hôte sauvegardé (yes).

Warning: Permanently added '[192.168.x.y]:1234' (RSA) to the list of known hosts.
root@192.168.x.y's password:

Entrer le mot de passe « root » de l'hôte sauvegardé.

  • Port ssh différent de 22

La solution est de créer le fichier : /var/lib/BackupPC/.ssh/config

Host 192.168.1.33
 Port 2222

ou :

Host 192.168.1.33/24
 Port 2222

ou :

Host *
 Port 2222


  Attention :
dans le fichier, le mot « Port » doit être séparé de la marge gauche par un espace.


Pour plus d'informations, voir ce sujet (en anglais) : https://forums.contribs.org/index.php/topic,53586.0.html

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/ 
  1. Installer le serveur KOOZALI SME ;
  2. redémarrer ;
  3. 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


  Attention :
la suppression d'une seule sauvegarde doit être effectuée avec une extrême attention. Vous pouvez supprimer de façon sécuritaire la dernière sauvegarde, par exemple, mais si vous supprimez une sauvegarde sur laquelle une autre sauvegarde est liée, vous pouvez bousiller vos sauvegardes.


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
  Astuce :
si vous désactivez Autoblock, installez denyhosts ou fail2ban pour ne pas perdre en sécurité.


Désinstaller

yum remove smeserver-BackupPC BackupPC

Bogues

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 :

IDProductVersionStatusSummary (4 tasks)
12197SME Contribs10.0CONFIRMEDcleanup /var/log/httpd-bkpc/
12196SME Contribs10.0CONFIRMEDremove old way logrotate
12123SME Contribs10.0CONFIRMEDimport deps from fws
11517SME Contribs10.0rcCONFIRMEDcleanup remove use of sv run script for service

Changelog

Seules les versions publiées dans smecontrib sont listées ici.

smeserver-BackupPC Changelog: SME 10 (smecontribs)
2023/02/11 Zsolt Vasarhelyi 0.2-15.sme
- expand-updatedb-conf patch [SME: 10513]
2023/02/10 Zsolt Vasarhelyi 0.2-14.sme
- $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]

including Requires, and bkpc-conf
2022/07/30 Brian Read 0.2-12.sme
- Re-build and link to latest devtools [SME: 11997]
2022/07/25 Zsolt Vasarhelyi 0.2-11.sme
- update to httpd 2.4 syntax [SME: 12036]