Skip to main content

Comment utiliser rsync pour copier des dossiers et des fichiers Linux

Linux Astuces - 8. Synchroniser des répertoires distants (rsync + ssh) (Mai 2024)

Linux Astuces - 8. Synchroniser des répertoires distants (rsync + ssh) (Mai 2024)

Table des matières:

Anonim

rsync est un programme de transfert de fichiers pour Linux qui vous permet de copier des répertoires et des fichiers à l'aide d'une commande simple, comprenant des options supplémentaires par rapport à la fonction de copie traditionnelle.

L'une des fonctionnalités utiles de rsync est que, lorsque vous l'utilisez pour copier des répertoires à partir de la ligne de commande, vous pouvez exclure les fichiers de manière systématique. Ainsi, si vous utilisez rsync pour effectuer des sauvegardes de fichiers, vous pouvez uniquement sauvegarder les fichiers que vous souhaitez vraiment archiver, tout en évitant tout le reste.

Syntaxe rsync

Pour utiliser correctement la commande rsync, vous devez suivre la syntaxe correcte:

rsync OPTION … SRC … DESTrsync OPTION … SRC … USER @ HOST: DESTrsync OPTION … SRC … USER @ HOST :: DESTrsync OPTION … SRC … rsync: // UTILISATEUR @ HOST : PORT / DESTrsync OPTION … USER @ HOST: SRC DESTrsync OPTION … USER @ HOST :: SRC DESTrsync OPTION … rsync: // UTILISATEUR @ HÔTE : PORT / SRC DEST

le option l’espace prévu ci-dessus peut être rempli de plusieurs choses. Voir le SOMMAIRE DES OPTIONS section de la documentation rsync pour une liste complète, mais voici quelques exemples:

  • -v, --verbeux: Augmenter la verbosité
    • --info = DRAPEAUX : Verbosité informationnelle à grain fin
    • --debug = DRAPEAUX : Verbosité de débogage à grain fin
    • --msgs2stderr: Traitement de sortie spécial pour le débogage
  • -q, --silencieux: Supprimer les messages non-d'erreur
    • --no-motd: Supprimer MOTD en mode démon
  • -c, --checksum: Sauter en fonction de la somme de contrôle, pas de la taille du mod
  • -r, --recursive: Recurse dans des répertoires
  • -b, --backup: Faire des sauvegardes
    • --backup-dir = DIR : Créer des sauvegardes dans une hiérarchie basée sur DIR
    • --suffix = SUFFIXE : Suffixe de sauvegarde
  • -ré, --dirs: Transférer des répertoires sans récursir

Exemples rsync

Voici quelques exemples d'utilisation de rsync avec certaines de ces options:

PointeRemarque: Dans chacun de ces exemples, le texte en gras ne peut pas être modifié car il fait partie de la commande. Comme vous pouvez le constater, les chemins de dossier et les autres options sont personnalisés pour nos exemples spécifiques. Ils seront donc différents lorsque vous les utiliserez.

rsync /home/jon/Desktop/data/*.jpg / home / jon / Desktop / backupdata /

Dans cet exemple ci-dessus, tous les fichiers JPG de la /Les données/ dossier sont copiés dans le / backupdata / dossier sur le dossier de l'utilisateur Jon's Desktop.

rsync --max-size =2k / home / jon / bureau / données / / home / jon / bureau / backupdata /

Cet exemple rsync est un peu plus compliqué car il est configuré pour ne pas copier des fichiers s’ils dépassent 2 048 Ko. Autrement dit, copier uniquement les fichiers dont la taille est inférieure à celle indiquée. Vous pouvez utiliser k, m ou g pour indiquer les kilo-octets, les mégaoctets et les gigaoctets dans le multiplicateur de 1 024, ou kb , mb , ou gb d'utiliser 1 000.

rsync --min-size =30mb / home / jon / bureau / données / / home / jon / bureau / backupdata /

La même chose peut être faite pour --min-size , comme vous voyez ci-dessus. Dans cet exemple, rsync ne copie que les fichiers de 30 Mo ou plus.

rsync --min-size =30 Mo --le progrès / home / jon / Bureau / data / / home / jon / Bureau / backupdata /

Lorsque vous utilisez rsync pour copier des fichiers assez volumineux, tels que 30 Mo ou plus, et surtout s’il en existe plusieurs, vous voudrez peut-être voir la progression de la fonction de copie au lieu de supposer que la commande est gelée. Dans ces cas, utilisez le --le progrès possibilité de regarder le processus atteindre 100%.

rsync --recursive / home / jon / bureau / données / home / jon / bureau / data2

le --recursive Cette option permet de copier facilement un dossier entier vers un emplacement différent, comme le / data2 / dossier dans notre exemple.

rsync -r --exclude = "*.deb' / home / jon / bureau / données / home / jon / bureau / backupdata

Vous pouvez également copier un dossier entier, mais exclure les fichiers d'une certaine extension, tels que les fichiers DEB dans l'exemple ci-dessus. Cette fois, le tout /Les données/ le dossier est copié dans / backupdata / comme dans l'exemple précédent, mais tous les fichiers DEB sont exclus de la copie.