Installer rsyncd sous Windows
Transcription
Installer rsyncd sous Windows
Publié sur WindowsLinux.net (http://www.windowslinux.net) Accueil > BackupPC BackupPC [1] BackupPC permet de sauvegarder des ordinateur exécutant Windows, Linux, ou tout autre OS. Ce programme fournit une interface web qui permet la gestion des sauvegardes quelque soit solutions choisie (rsync, smb, tar, etc...). Installer rsyncd sous Windows BackupPC propose une version binaire de rsyncd sur ce lien [2] sous le nom "cygwin-rsyncd". Une autre option est d'utiliser cygwin [3] et d'installer le paquet "rsync". Il faut éviter d'avoir les deux options installées sur un poste, dans tous les cas de figure, la variable "path" sera définie à "/cygdrive/c/" pour le disque "c:\". Editez les fichiers : C:\rsyncd\rsyncd.secrets : en fin de fichier, entrez un nom d'utilisateur et un mot de passe unique, dédié à Rsyncd, qui sera recopié dans l'interface web de BackupPC. C:\rsyncd\rsyncd.conf, avec les paramètres de configuration suivant : use chroot = false max connections = 1 log file = c:/rsyncd/rsyncd.log lock file = c:/rsyncd/rsyncd.lock [adminuser] path = /cygdrive/c/Users/admin comment = Docs utilisateur admin strict modes = false auth users = monutilisateur secrets file = c:/rsyncd/rsyncd.secrets hosts allow = 192.168.0.5, nom.dns.du.poste read only = false list = false Tester la connexion à rsyncd Pour tester que rsyncd est bien configuré, après que le port 873 et rsync.exe soit autorisé dans le pare-feu, tapez la commande suivante : telnet <adresse IP du poste>:873 La réponse doit être du genre : @RSYNCD: 30.0 @ERROR: protocol startup error Perte de la connexion à l'hôte. Ceci signifie que le serveur rsyncd est bien configuré. Suivre la progression de la sauvegarde Pour afficher la progression en temps réel des fichiers utilisés par BackupPC, exécutez cette commande : watch "lsof -n -u backuppc | egrep ' (REG|DIR) ' | egrep -v '( (mem|txt|cwd|r Pour afficher le log d'une sauvegarde en cours, ouvrez ce fichier : /usr/share/backuppc/bin/BackupPC_zcat /var/lib/backuppc/pc/<ordinateur>/XferL Tester la connexion depuis Linux à un partage Windows (smb) Utilisez la commande suivante pour vous connecter à votre partage réseau : smbclient //AdresseIP/PartageWindows$ -U UtilisateurWindows Le mot de passe de connexion de l'utilisateur Windows utilisé pour l'option "-U" vous sera alors demandé. Vous povuez alors tester le bon fonctionnement du partage avec une commande tel que "dir". Tester la connexion entre deux machines Linux (rsync) Etape 1 : se connecter sur la machine distante avec l'utilisateur backuppc su - backuppcssh [email protected] Etape 2 : En cas de problème, générer une clé SSH pour la connexion sans mot de passe su - backuppc cd /var/lib/backuppc/.ssh ssh-keygen -t rsa Laisser la "passphrase" vide. Deux clés sont générées : id_rsa (clé privé) et id_rsa.pub (clé publique). Copier la clé publique sur le serveur qu'il faut sauvegarder : scp [email protected][4]:.ssh/. Sur le serveur qu'il faut sauvegarder, on ajoute la clé publique dans le fichier authorized_keys : #cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys Vérifiez que les droits sur le fichier authorized_keys soit bien à 600 (chmod 600 authorized_keys). Désormais, sur la machine hébergeant BackupPC et stockant les sauvegardes, la connexion avec l'utilisateur backuppc doit bien se dérouler : su - backuppc [email protected][4] Sauvegarde d'un poste Windows Diverses astuces sont disponibles ici : https://sourceforge.net/projects/backuppc/ [5] Liste des exclusions par défaut pour les postes Windows : https://sourceforge.net/projects/backuppc/ [5] En utilisant le protocole smb, il est possible d'exclure des fichiers et dossiers (option BackupFilesExclude ) en respectant la mise en forme suivante : \Application Data\* Pour un fichier se trouvant à la racine du partage, il faut utiliser deux \\ : \\*.DAT \\Thumbs.db L'encodage d'un client Windows peut être définis à "cp1252" si vous utilisez Rsync avec Cygwin. Astuces de la console de configuration Spécifier une adresse e-mail : EMailAdminUserName ->[email protected][6] Empêcher aux utilisateurs d'éditer leur configuration : CgiUserConfigEditEnable -> no Définir un mot de passe d'accès pour chaque utilisateur Vous pouvez utiliser un mail pour chaque utilisateur : htpasswd /etc/backuppc/htpasswd adressemail Envoi des mails avec Gmail Utilisation de smtp.gmail.com avec exim. dpkg-reconfigure exim4-config > mail sent by smarthost; no local mail. Editer /etc/exim4/update-exim4.conf et vérifiez le paramètre suivant : dc_smarthost='smtp.gmail.com' Ajouter ces lignes au fichier /etc/exim4/passwd.client : smtp.gmail.com :[email protected][7] : PASSWORD gmail-smtp.l.google.com :[email protected][7]: PASSWORD Testez l'envoi d'email avec cette commande : /usr/share/backuppc/bin/BackupPC_sendEmail -u emailaddress Si ça ne fonctionne pas : tail -f /var/log/exim4/mainlog puis observez la livraison des mails avec la commande "mailq". Un des problèmes les plus courants sont les messages du type "Authentication Required". Si l'hôte n'est pas "gmail-smtp.l.google.com", replacez la valeur en rapport dans le fichier " /etc/exim4/passwd.client". Une fois le problème résolu, vous pouvez envoyer tous les mails en attente avec la commande : exim -qff Supprimer une sauvegarde Ce script vous permet de supprimer une sauvegarde : #! /bin/bash #this script contributed by Matthias Meyer #note that if your $Topdir has been changed, the script will ask you #the new location. # usage="\ Usage: $0 -c <client> [-d <backupnumber> -b <before data> [-f]] | [-l] Delete specified backups. Attention! If a full backup is deleted, all incremental backups that depends on it will also be deleted. -c <client> - client machine for which the backup was made -d <number> - backup number to delete -b <date> - delete all backups before this date (YYYY-MM-DD) -f - run Backuppc_nightly afterwards to clean up the pool -l - list all backups for <client> -h - this help Example: list backups of <client> $0 -c <name of the client which was backed up> -l remove backup #3 from <client> $0 -c <name of the client which was backed up> -d 3 remove all backups before 2007-07-02 from <client> $0 -c <name of the client which was backed up> -b 2007-07-02 " typeset -i len while test $# -gt 0; do case "$1" in -c | --client ) shift; client=$1; shift;; -b | --before ) shift; bDate=$1; shift;; -d | --delete ) shift; bNumber=$1; shift;; -f | --force ) nightly="true"; shift;; -l | --list ) list="true"; shift;; * | -h | --help) echo "$usage" exit 0 ;; esac done if [ -z "$client" ] || [ -z $list ] && [ -z $bNumber ] && [ -z $bDate ] then echo "$usage" exit 0 fi if [ -e /etc/backuppc/config.pl ] then TopDir=`grep $Conf{TopDir} /etc/backuppc/config.pl | awk '{print $3}'` len=${#TopDir}-3 TopDir=${TopDir:1:len} else echo "/etc/backuppc/config.pl not found" exit 1 fi ls $TopDir/pc > /dev/null 2>&1 while [ $? != 0 ] do read -p "examined $TopDir seems wrong. What is TopDir ? " TopDir ls $TopDir/pc > /dev/null 2>&1 done ls $TopDir/pc/$client > /dev/null 2>&1 if [ $? != 0 ] then echo "$client have no backups" exit 1 fi if [ ! -z $list ] then while read CLine do BackupNumber=`echo $CLine | awk '{print $1}'` BackupType=`echo $CLine | awk '{print $2}'` BackupTime=`stat -c "%y" $TopDir/pc/$client/$BackupNumber | awk '{pri echo "BackupNumber $BackupNumber - $BackupType-Backup from $BackupTim done < $TopDir/pc/$client/backups exit 0 fi if [ ! -z $bNumber ] && [ ! -e $TopDir/pc/$client/$bNumber ] then echo "Backup Number $bNumber does not exist for client $client" exit 1 fi LogDir=`grep $Conf{LogDir} /etc/backuppc/config.pl | awk '{print $3}'` len=${#LogDir}-3 LogDir=${LogDir:1:len} delete2full="false" rm -f $TopDir/pc/$client/backups.new > /dev/null 2>&1 while read CLine do BackupNumber=`echo $CLine | awk '{print $1}'` BackupTime=`stat -c "%y" $TopDir/pc/$client/$BackupNumber | awk '{print $ BackupType=`echo $CLine | awk '{print $2}'` if [ $BackupType == "full" ] then delete2full="false" fi if [ "$BackupTime" \< "$bDate" ] || [ $BackupNumber == "$bNumber" ] || [ then if [ $BackupType == "full" ] then if [ $delete2full == "false" ] then delete2full="true" else delete2full="false" fi fi bNumber=$BackupNumber echo "remove $TopDir/pc/$client/$bNumber" echo "`date +\"%Y-%m-%d %T\"` BackupPC_deleteBackup delete $TopDir/pc rm -fr $TopDir/pc/$client/$bNumber > /dev/null 2>&1 echo "`date +\"%Y-%m-%d %T\"` BackupPC_deleteBackup $TopDir/pc/$clien fi if [ $BackupNumber != $bNumber ] then echo "$CLine" >> $TopDir/pc/$client/backups.new fi done < $TopDir/pc/$client/backups mv $TopDir/pc/$client/backups.new $TopDir/pc/$client/backups echo "`date +\"%Y-%m-%d %T\"` BackupPC_deleteBackup $TopDir/pc/$client/backup if [ ! -z $nightly ] then path=${0%/BackupPC*} su backuppc -c "$path/BackupPC_nightly 0 255" echo "`date +\"%Y-%m-%d %T\"` BackupPC_deleteBackup BackupPC_nightly fini fi exit $? Liens Externes http://www.cs.umd.edu/~cdunne/projs/backuppc_guide.html#Mobile Clients [8] Tags: Sauvegardes [9] Visitez notre site web : WindowsLinux.net - Wiki et partage d'informations sur Windows et Linux. URL source (Obtenu le 08/02/2017 - 04:41): http://www.windowslinux.net/backuppc Liens: [1] http://www.windowslinux.net/backuppc [2] https://sourceforge.net/projects/backuppc/files/ [3] http://www.cygwin.com [4] mailto:[email protected] [5] https://sourceforge.net/projects/backuppc/ [6] mailto:[email protected] [7] mailto:[email protected] [8] http://www.cs.umd.edu/~cdunne/projs/backuppc_guide.html#Mobile Clients [9] http://www.windowslinux.net/tags/sauvegardes