Il arrive très souvent que l’on ait besoin de transférer des fichiers rapidement, d’un serveur à un autre par exemple.
Bien sûr, on peut utiliser le FTP mais il y a beaucoup plus rapide et efficace : je vous présente rsync.[no_toc]
Synchronisation distante
rsync (remote synchronization ou “synchronisation distante” en français) est un logiciel libre de synchronisation de fichiers (disponible sous toutes les plateformes).
La synchronisation est unidirectionnelle, c’est-à-dire qu’elle copie les fichiers de la source en direction de la destination.
rsync
est donc utilisé pour réaliser des sauvegardes incrémentales ou pour diffuser le contenu d’un répertoire de référence.
Je vous donne ici les deux commandes que j’utilise quotidiennement lors de ma gestion des serveurs.
Copier tous les fichiers d’un répertoire du serveur A dans le répertoire équivalent du serveur B
Premièrement, connectez-vous via SSH à votre serveur A. Voici la commande :
rsync --ignore-existing --progress /home/movies
Code language: PHP (php)
Explications:
--ignore-existing
signifie que si le fichier existe déjà, on ne le remplace pas.--progress
montre la vitesse du transfert et les noms des fichiers transférés.matt@serveurB.net
est le nom du login SSH (matt) associé à l’adresse du serveur B (IP ou nom de domaine)./home/website/
: répertoire vers lequel copier les fichiers.
En lançant cette commande, je récupère sur le serveur B tous les fichiers qui se trouvent dans le répertoire /home/movies/
du serveur A. Je ne remplace pas les fichiers existants : étant donné que je ne synchronise qu’avec rsync, ce serait inutile.
Lire la suite