Commandes de base

EN REDAC rsync : Une commande pour synchroniser et sauvegarder des fichiers

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction



Rsync est un programme de synchronisation de fichiers.
La synchronisation avec Rsync 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 mettre en place des sauvegardes locales ou distantes.

La commande rsync



La commande s'utilise de cette manière :
Code BASH :
rsync [options] source/ destination/

Attention, il existe une subtilité avec les noms des dossiers, ces 2 commandes vont avoir un comportement différent :
Code BASH :
rsync source/ destination/
rsync source destination/

Dans le premier cas, le contenu de source sera synchronisé dans le dossier destination.
Dans le second cas, le contenu de source sera créé dans destination/source (en conservant le nom du dossier).
Pour ne pas m’emmêler les pinceaux, je mets le / à la fin des 2 dossiers et je créé au besoin mon arborescence dans la destination avant.
rsync possède plein d'avantages et de fonctionnalités, puisqu'il copie/synchronise des fichiers locaux vers/depuis un autre emplacement local ou distant. Il supporte les liens symboliques, et conserve les permissions. Il est plus rapide que scp puisqu'il transfert juste les différences (sauvegarde incrémentale), et est capable de compresser les données pendant le transfert.
Si'il est utilisé d'une source locale vers une destination sur le réseau, il utilise par défaut SSH. le transfert est donc sécurisé et on bénéficie des paires de clés publiques/privées si générées.
Dans le cadre d'une synchronisation avec un hôte distant :
Code BASH :
rsync source/ user@machine:/destination/
rsync user@machine:/source/ destination/

Il est même possible de synchroniser depuis un hôte qui possède un démon rsync :
Code BASH :
rsync rsync://@machine:/source/ destination/

Des exemples



Il sera plus simple d'apprendre rsync par des exemples que d'expliquer les options.