Vous voulez copier des fichiers dans un autre ordinateur de votre réseau local ou à travers le réseau internet et en utilisant une liaison cryptée et sécurisée ; La solution est d’utiliser rsync (rsync utilise ssh par défaut quand on transfère des fichiers d’une machine à une autre : le serveur ssh doit être configuré et en marche sur la machine cible ou distante et la machine source doit avoir un client ssh configuré.
La commande ci-dessous transfert les fichiers à travers le réseau local du répertoire d’accueil de l’utilisateur jean du serveur de messagerie (svrmail) vers serveur d’archivage (srvarchive).
Le nom utilisateur de jean dans srvarchive est rjean;
Pour donc copier les fichiers du répertoire d’accueil de l’utilisateur jean du serveur svrmail vers son répertoire d’accueil dans svrarchive, on exécutera la commande rsync suivante :
jean@srvmail:~$ rsync –av ~/Mails/ rjean@srvarchive:Archives/
rjean@srvarchive's password:
building file list ... done
MAILs/
Mails/o-mio-babbino-caro.ogg
Mails/deh-vieni-non-tardar.ogg
.
wrote 25984 bytes read 68 bytes 7443.43 bytes/sec
total size is 25666 speedup is 0.99
Si le répertoire de destination n’existe pas, rsync va le créer.
Pour transférer les fichiers de de votre machine locale vers une autre machine hors de votre réseau local mais dans le réseau internet (″upload″), il faut utiliser le nom de domaine complet (FQDN) du serveur distant :
jean@srvmail:~$ rsync -av ~/Mails/errors rjean@remote.server.com:/backups/Mails/
Pour copier les fichiers du serveur distant vers le serveur local, la syntaxe est inversée.
La commande suivante copie le répertoire /errors et son contenu du serveur distant vers le répertoire de travail de l’utilisateur jean :
jean@srvmail:~$ rsync -av rjean@remote.server.com:/backups/Mails/errors /home/jean/Mails/
Remarques
Dans le passé, l’option SSH de la commande rsync devait être explicite ;
par exemple, rsync -a -e ssh [options] ; Ce n’est plus le cas aujourd’hui.
Mais certaines options de SSH qui, elles ne sont pas implicites peuvent toujours être utiles pour la commande rsync :
- –partial en cas d’interruption la connexion réseau, la partie des fichiers transférés est préservés ; le transfert des fichiers reprend à l’endroit où il s’était arrêté quand la connexion réseau est restaurée.
- -h, –human-readable affiche la taille des fichiers en kilo-octets, méga-octets et giga-octets, et
non en octets. - –log-file= créée un fichier texte de log qui contient tous les transferts et chaque transfert
Correspondant un enregistrement de ce fichier log.
Et tout cela mis ressembler on a :
jean@mailsvr:~$ rsync --partial --progress --log-file=/home/jean/rsynclog.txt \
-hav ~/MAIL/sent rjean@remote.server.com:/backups/Mails
Nous espérons que ce tutorial a été une aide pour vous.
Vous pouvez participer à l’une de nos sessions de formations Linux pour booster vos compétences avec des dizaines LABs et des exemples pratiques tirés problématiques réelles dans les entreprises.Nous contacter au : www.7ggit.com
Charles Nsang