Rsync (Remote sync) est un outil de synchronisation utile pour copier et synchroniser des fichiers et des répertoires dans des systèmes Linux locaux et distants. Vous pouvez synchroniser des fichiers entre deux répertoires sur le même ordinateur, entre les répertoires de deux systèmes sur le même réseau et entre deux répertoires sur le système distant.
Dans cet article, je décrirai quelques cas d'utilisation courants de rsync sous Linux.
Installer Rsync sur Ubuntu
Rsync est préinstallé avec certaines distributions Linux. S'il n'est pas préinstallé, vous pouvez l'installer à l'aide de la commande ci-dessous :
sudo apt install rsync
Utiliser Rsync
La syntaxe de base de rsync est :
# rsync [options] [source] [destination]
Dans les options , vous pouvez spécifier une variété de paramètres.
Copier les fichiers localement
Pour copier tous les fichiers d'un répertoire source vers le répertoire de destination, saisissez la commande ci-dessous :
rsync /home/tin/Documents/*.odc /home/tin/Desktop/data
Après avoir exécuté la commande ci-dessus, tous les fichiers .odc fichiers dans le répertoire source /home/tin/Documents sera copié dans le répertoire de destination /home/tin/Desktop/data .
Copier des fichiers du système local vers un système distant
Rsync peut copier des fichiers sur le réseau, tout ce dont vous avez besoin est la connexion SSH du serveur ou du bureau distant.
Exemple :
rsync -e ssh /var/www/ [email protected]:/var/www/
Cette commande copie le contenu du dossier local /var/www dans le dossier /var/www du système sur IP 192.168.0.100. Il utilise l'utilisateur "root" pour se connecter au système distant.
Copier des fichiers en fonction de leur taille
Vous pouvez également spécifier la taille maximale du fichier pouvant être copié à l'aide de rsync. Disons que, dans ce cas, je spécifie la taille maximale à 0,2K. Les fichiers dont la taille est supérieure à celle-ci ne seront pas copiés dans /home/tin/Desktop/data.
rsync --max-size=0.2k /home/tin/Documents/*.odc /home/tin/Desktop/data
Taille minimale
De même, vous pouvez également spécifier la taille minimale pouvant être copiée à l'aide de rsync.
Dans cet exemple, je spécifie la taille minimale de 30K. Les fichiers dont la taille est inférieure à 30 Ko ne seront pas copiés à l'aide de rsync.
rsync --min-size=30k /home/tin/Documents/*.odc /home/tin/Desktop/data
Afficher la progression
Vous pouvez également afficher la progression lors de la copie de fichiers à l'aide de rsync. Ajouter –progrès dans la commande rsync dans la syntaxe comme indiqué ci-dessous :
rsync --min-size=20k --progress /home/tin/Documents/*.odc /home/tin/Desktop/data
Copier un dossier entier avec rsync
Semblable aux fichiers, vous pouvez également copier l'intégralité du dossier et les fichiers qu'il contient à l'aide de la commande rsync.
Ajoutez la commande ci-dessous dans le terminal :
rsync --recursive /home/tin/Documents/ /home/tin/Desktop/documents
Exclure des fichiers
Vous pouvez également exclure certains fichiers lors de la copie du fichier et du dossier à l'aide de rsync.
rsync -r --exclude="*.odc" /home/tin/Documents/ /home/tin/Desktop/documents
En entrant la commande suivante, tous les fichiers seront copiés de la source à la destination, à l'exception des fichiers .odc.
C'était tout ce qu'il y avait à faire avec l'utilitaire rsync. Vous pouvez utiliser rsync pour copier et synchroniser des fichiers entre différents répertoires de votre système d'exploitation Linux.