rsync est un outil en ligne de commande utilisé pour synchroniser des fichiers et des répertoires entre des systèmes de manière efficace et sécurisée. Il est particulièrement utile pour les sauvegardes, les mises à jour de miroirs, et les transferts de fichiers. rsync utilise un algorithme de différence pour minimiser la quantité de données transférées, ce qui le rend très efficace pour les transferts de fichiers volumineux ou les mises à jour incrémentales.

Installation

rsync est généralement installé par défaut sur la plupart des distributions Linux. Si ce n'est pas le cas, vous pouvez l'installer en utilisant le gestionnaire de paquets de votre distribution :

Debian/Ubuntu :

sudo apt-get install rsync

CentOS/RHEL :

sudo yum install rsync

Fedora :

sudo dnf install rsync

Utilisation de Base

La syntaxe de base de rsync est la suivante :

rsync [options] source destination

Options de Base

-a : Archiver (copier de manière récursive et préserver les attributs des fichiers).

rsync -a source/ destination/

-v : Activer le mode verbeux pour afficher des informations détaillées sur le transfert.

rsync -av source/ destination/

-z : Activer la compression pour améliorer la vitesse de transfert.

rsync -avz source/ destination/

-P : Afficher la progression du transfert et conserver les fichiers partiellement transférés.

rsync -avzP source/ destination/

-e : Spécifier le programme à utiliser pour la connexion (par exemple, ssh).

rsync -avz -e ssh source/ user@remote_host:destination/

--delete : Supprimer les fichiers dans la destination qui ne sont pas présents dans la source.

rsync -avz --delete source/ destination/

Exemples de Commandes Avancées

Synchroniser un répertoire local vers un répertoire distant via SSH :

rsync -avz -e ssh source/ user@remote_host:destination/

Synchroniser un répertoire distant vers un répertoire local via SSH :

rsync -avz -e ssh user@remote_host:source/ destination/

Synchroniser un répertoire local vers un répertoire distant avec suppression des fichiers absents :

rsync -avz --delete source/ user@remote_host:destination/

Synchroniser un répertoire distant vers un répertoire local avec suppression des fichiers absents :

rsync -avz --delete user@remote_host:source/ destination/

Synchroniser un répertoire local vers un répertoire distant avec compression et affichage de la progression :

rsync -avzP source/ user@remote_host:destination/

Synchroniser un répertoire local vers un répertoire distant en utilisant un port SSH spécifique :

rsync -avz -e 'ssh -p 2222' source/ user@remote_host:destination/

Synchroniser un répertoire local vers un répertoire distant en utilisant une clé privée spécifique pour l'authentification :

rsync -avz -e 'ssh -i /path/to/private_key' source/ user@remote_host:destination/

Utilisation de rsync pour les Sauvegardes

rsync est souvent utilisé pour les sauvegardes incrémentales. Par exemple, pour synchroniser un répertoire local vers un répertoire distant avec suppression des fichiers absents :

rsync -avz --delete source/ user@remote_host:destination/

Utilisation de rsync pour les Mises à Jour de Miroirs

rsync est également utilisé pour mettre à jour des miroirs de sites web ou de dépôts de logiciels. Par exemple, pour synchroniser un répertoire local vers un répertoire distant avec compression et affichage de la progression :

rsync -avzP source/ user@remote_host:destination/


Mise en garde concernant l'utilisation des outils de cybersécurité

L'utilisation des outils de cybersécurité présentés sur ce site est soumise à des considérations légales et éthiques importantes. Avant d'utiliser ces outils, nous vous encourageons à prendre en compte les points suivants :

- Cadre légal : L'utilisation de certains outils de cybersécurité peut être réglementée par la loi dans votre pays ou région. Il est de votre responsabilité de vous informer sur les lois en vigueur concernant la cybersécurité, la protection des données et la vie privée. L'utilisation non autorisée de ces outils peut entraîner des poursuites judiciaires et des sanctions pénales.

- Consentement : Assurez-vous d'obtenir le consentement explicite des parties concernées avant d'utiliser des outils qui pourraient intercepter, surveiller ou analyser des données. Le respect de la vie privée des individus est primordial.

- Utilisation éthique : Les outils de cybersécurité doivent être utilisés de manière éthique et responsable. Ils ne doivent pas être employés à des fins malveillantes, telles que le piratage, le vol de données ou toute autre activité illégale.

- Responsabilité : En utilisant ces outils, vous reconnaissez que vous le faites à vos propres risques. Nous ne saurions être tenus responsables des conséquences résultant de l'utilisation de ces outils, y compris, mais sans s'y limiter, les dommages matériels, les pertes de données ou les poursuites judiciaires.

- Formation et expertise : Il est recommandé de suivre une formation adéquate et de posséder les compétences nécessaires avant d'utiliser des outils de cybersécurité. Une mauvaise utilisation peut entraîner des résultats indésirables et des risques pour la sécurité.

En utilisant ce site et les outils qui y sont présentés, vous acceptez de respecter ces conditions et de vous conformer à toutes les lois applicables.

Formateur

Bertrand LECLERCQ

Consultant DevSecOps & Data Engineer


Avec 25 ans d'expérience dans le développement logiciel et une certification en Data Engineering de l'École des Mines Paris - PSL, je suis passionné par la cybersécurité, le big data et le DevOps. J'aime partager mes connaissances et aider la communauté à renforcer sa posture de sécurité.

J'ai créé une base de vulnérabilités librement accessible et je me forme en continu sur des plateformes comme TryHackMe. Mon objectif ? Démocratiser la cybersécurité et permettre à chacun de mieux comprendre les enjeux.

J'ai une solide expertise dans la conception et le déploiement de solutions sécurisées, ainsi qu'une expérience éprouvée dans la gestion de projets complexes. Maîtrisant un large éventail de technologies (Python, Go, Java, Docker, Kubernetes, etc.), je suis convaincu que la sécurité doit être intégrée dès le début du cycle de développement.

Le projet NoHackMe vous permet d'effectuer une veille Cyber, vous permet de découvrir le monde de la Cybersécurité ainsi qu'une section formation Cyber

Soutenez No Hack Me sur Tipeee