Comment utiliser 'rsync' pour copier des dossiers et des fichiers sous Linux

Ce qu'il faut savoir

  • Copie en fonction du type de fichier: rsync /home/jon/Desktop/data/*.jpg /home/jon/Desktop/backupdata/
  • Copie en fonction de la taille du fichier: rsync --max-size=2k /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/
  • Copiez des dossiers entiers: rsync --recursive /home/jon/Desktop/data /home/jon/Desktop/data2

Cet article explique comment utiliser le rsync programme de transfert de fichiers pour Linux pour copier des répertoires et des fichiers, et même exclure des fichiers de manière systématique. A ce titre, il sauvegarde les fichiers destinés à l'archivage en évitant tout le reste.

Syntaxe de commande

En utilisant le rsync commande correctement nécessite que vous suiviez le bon syntaxe:

rsync [OPTION]... [SRC]... [DEST]
rsync [OPTION]... [SRC]... [UTILISATEUR@]HTE: DEST
rsync [OPTION]... [SRC]... [UTILISATEUR@]HTE:: DEST
rsync [OPTION]... [SRC]... rsync://[USER@]HOST[:PORT]/DEST
rsync [OPTION]... [UTILISATEUR@]HTE: SRC [DEST]
rsync [OPTION]... [UTILISATEUR@]HTE:: SRC [DEST]
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

Certains commutateurs d'options couramment utilisés incluent:

  • -v, --verbeux: augmente la verbosité (fournit plus de détails sur ce que fait la commande).
    • --info=DRAPEAUX: Fournit des messages d'information détaillés.
    • --debug=DRAPEAUX: Fournit des messages de débogage détaillés.
    • --msgs2stderr: Gestion de sortie spéciale pour le débogage.
  • -q, --calmer: supprime les messages autres que d'erreur.
    • --no-motd: supprime le message du jour en mode démon.
  • -c, --somme de contrôle: ignore les fichiers en fonction de somme de contrôle, pas le temps de modification et la taille.
  •  -r, --récursif: Naviguez dans les sous-répertoires pour les fichiers supplémentaires.
  • -b, --sauvegarde: Faire des sauvegardes.
    • --backup-dir=DIR: effectuez des sauvegardes dans une hiérarchie de répertoires correspondante.
    • --suffixe=SUFFIXE: ajoute un suffixe à la fin des fichiers sauvegardés.
  • -ré, --dirs: ne transférez que les répertoires sans naviguer à l'intérieur de ceux-ci.

Exemples de commandes

Utilisation rsync avec certaines de ces options pour affiner votre stratégie de sauvegarde.

Copie sélective basée sur le type de fichier

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

Dans cet exemple, tous les JPG fichiers de la /data/ copie du dossier dans le /backupdata/ dossier sur l'utilisateur Jon's Bureau dossier.

Copie de fichiers en fonction de la taille

rsync --max-size=2k /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

Cette rsync exemple est un peu plus compliqué car il est configuré pour ne pas copier les fichiers s'ils font plus de 2 048 Ko. Il ne copie que les fichiers plus petits que la taille spécifiée.

Utilisation k, m, ou g pour indiquer les kilo-octets, les mégaoctets et les gigaoctets dans le multiplicateur de 1 024, ou ko, mb, ou go d'en utiliser 1000.

rsync --min-size=30 Mo /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

On peut faire la même chose pour --min-taille, trop. Dans cet exemple, rsync copie uniquement les fichiers de 30 Mo ou plus.

rsync --min-size=30mb --progress /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

Utilisez le --le progrès option pour regarder le processus fonctionner jusqu'à 100 pour cent, pratique lorsque vous copiez des fichiers très volumineux.

Copier des dossiers entiers

rsync --recursive /home/jon/Desktop/data /home/jon/Desktop/data2

Les --récursif L'option fournit un moyen facile de copier un dossier entier vers un emplacement différent, comme le /data2/ dossier dans l'exemple ci-dessus.

Cette commande copie l'intégralité du dossier et tout son contenu vers le nouvel emplacement.

Exclure certains fichiers

rsync -r --exclude="*.deb" /home/jon/Desktop/data /home/jon/Desktop/backupdata

Copiez un dossier entier mais excluez les fichiers d'un certain extension de fichier, tel que DEB fichiers, dans cet exemple ci-dessus. La totalité /data/ le dossier est copié dans /backupdata/ comme dans l'exemple précédent, mais tous les fichiers DEB sont exclus de la copie.