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