Rsync Commad à Linux avec 12 exemples pratiques

Rsync Commad à Linux avec 12 exemples pratiques

RSYNC (synchronisation à distance) est un outil de ligne de commande pour synchroniser les fichiers entre deux systèmes basés sur UNIX. RSYNC peut également être utilisé sur le même système pour synchroniser les fichiers entre deux répertoires. RSYNC utilise un algorithme de transfert delta pour envoyer uniquement les différences entre les fichiers source et les fichiers existants vers la destination. RSYNC utilise moins de données sur le réseau pour conserver la bande passante.

RSYNC est généralement utilisé pour sauvegarder de grandes quantités de données ou transférer des données entre deux ordinateurs. RSYNC prend en charge la synchronisation de fichiers locale à locale, locale à recommandation et à distance à télécommande. Cependant, la synchronisation des fichiers à distance à distance n'est pas prise en charge.

Dans cet article, nous examinerons quelques utilisations courantes pour l'outil de ligne de commande RSYNC.

Syntaxe

RSYNC [Option…] Source… [Destination] 
  • Ici SOURCE Peut être un répertoire local comme «/ opt / sauvegarde» ou un emplacement éloigné comme «[e-mail protégé]: / opt / re Rootedir /»
  • Également DESTINATION peut être appelé répertoire local ou répertoire système distant
  • La source et la destination peuvent se référer à un répertoire local.
  • Une seule source ou destination peut être la télécommande. Vous ne pouvez pas utiliser les deux comme emplacements éloignés.

Options de commande RSYNC

RSYNC offre un grand nombre d'options utiles qui contrôlent chaque aspect de son comportement et le rendent plus flexible pour la synchronisation des fichiers. Vous trouverez ci-dessous la liste de certaines options de commande RSYNC fréquemment utilisées:

  • -v, -vv -vvv, --verbose - Cette option est utilisée pour les journaux verbeux sur la sortie standard. Le RSYNC par défaut fonctionne silencieusement. Plus le nombre de «V» augmente le niveau de journalisation.
  • -A, - Archive - Est l'option utilisée la plus courante avec la commande RSYNC. Le mode des archives est équivalent aux options -rlptgod . Fondamentalement, il comprend toutes les options nécessaires telles que, récursivement, préserver les autorisations de fichiers, les liens symboliques, la possession de fichiers et les horodatages.
  • -Z, - Compresser - Utilisez cette option pour transférer des données au format compressé. Qui est utile pour sauver la bande passante.
  • -H, - humain-lisible - Utilisez cette option pour imprimer toutes les sorties dans un format lisible par l'homme.
  • --supprimer - Utilisez cette option uniquement si vous devez supprimer des fichiers sur la destination, qui n'existe pas sur la source.
  • --exclure = modèle - Exclure les fichiers de RSYNC correspondant au modèle donné.
    rsync --exclude '*.src / dest / de JPG 
  • --inclure = motif - Inclure des fichiers dans RSYNC correspondant au modèle donné.
    rsync --include '*.jpg '--include' *.txt '--exclude' * src / dest / 

Exemples RSync

Voici 12 exemples pratiques de la commande RSYNC dans les systèmes UNIX / Linux.

  1. Copier / synchroniser les fichiers et répertoires locaux à local
  2. RSYNC permet de synchroniser des fichiers entre les répertoires sur le système local. Par exemple, j'ai quelques fichiers de sauvegarde sur ma machine locale sous le / mnt / sauvegarde annuaire. Je souhaite copier / synchroniser tous les fichiers avec le lecteur USB qui est monté sur / mnt / disque1. Utilisez la commande suivante pour synchroniser tous les fichiers et répertoires à partir de / opt / sauvegarde à / mnt / disque1.

    RSYNC -AVHZ / OPT / BACKUP / MNT / DISK1 /  Envoi de la liste de fichiers incrémentiels sauvegarde / sauvegarde / Tecadmin.22MAR2022.SQL Backup / Tecadmin.22MAR2022.le goudron.GZ Backup / Tecadmin.23MAR2022.SQL Backup / Tecadmin.23MAR2022.le goudron.gz envoyé 1.09g octets reçus 96 octets 23.39 m octets / sec La taille totale est 1.47g d'accélération est 1.35 
    Copier / synchroniser les fichiers et les répertoires entre deux répertoires locaux

  3. Copier / synchroniser les fichiers et répertoires locaux à remémorer
  4. À l'aide de RSYNC, nous pouvons rapidement copier / synchroniser les fichiers des systèmes locaux aux systèmes distants. Par exemple, j'ai besoin de transférer un site Web vers un nouveau serveur. Ce contenu du site Web exigeait une copie des systèmes distants. Utilisez la commande ci-dessous pour copier tous les fichiers du local / var / www / html Annuaire à la télécommande (192.168.1.100) Systèmes / Var / www / HTML Directory.

    RSync -avhz / var / www / html [e-mail protégé]: / var / www / html /  

    La commande ci-dessus est utile pour un administrateur système, qui copie régulièrement les fichiers entre deux systèmes.

  5. Copier / synchroniser les fichiers et les répertoires à distance à local
  6. La commande RSYNC permet également à la source en tant que répertoire distant, mais alors la destination doit être locale. Utilisez le répertoire source à partir de l'hôte distant et la destination doit être le répertoire local. Par exemple, j'ai besoin de copier tous les fichiers de sauvegarde stockés sous / sauvegardes Répertoire sur la télécommande au répertoire local / opt / sauvegarde.

    RSYNC -AVHZ [Protégé par e-mail]: / Backups / Opt / Backups  

  7. Utilisation de RSYNC sur SSH
  8. Le RSYNC se connecte aux systèmes distants à l'aide du démon RSYNC directement via TCP. Nous pouvons demander à RSYNC d'utiliser Secure Shell (SSH) pour connecter des systèmes distants plutôt que de créer une connexion TCP.

    Utiliser -e Option pour spécifier le shell distant. La commande ci-dessous utilisera SSH comme shell distant:

    RSync -avhz -e ssh / src [e-mail protégé]: / dest /  

    Si le serveur SSH sur la destination s'exécute sur un port non standard, utilisez ce tutoriel pour connecter RSYNC sur un port non standard.

  9. Ignorer les fichiers et les répertoires existent déjà sur destination
  10. Utilisez la commande RSYNC avec --ignorer Option pour ignorer tous les fichiers, qui existent déjà sur la destination. Par exemple, vous souhaitez planifier un script de sauvegarde pour copier tous les fichiers sur le disque de sauvegarde quotidiennement. Dans ce cas, vous ne voulez pas copier tous les fichiers encore et encore. Cette option copiera ces fichiers, qui ne sont pas disponibles à la destination.

    RSYNC -AVHZ --Ignore-Existing / Opt / Backups / Mnt / Disk1  

  11. Mettre à jour le fichier uniquement si la source est plus récente
  12. Utiliser --mise à jour L'option pour mettre à jour le fichier sur la télécommande uniquement s'il y a une nouvelle version est locale. Le RSYNC créera un fichier sur la destination s'il n'est pas existant. De plus, le fichier de mise à jour sur la destination d'un horodat local est plus récent que le fichier système distant.

    RSync - Update -Avhz / Opt / Backups / Mnt / Disk1 /  

  13. Supprimer le fichier de la source après synchronisation
  14. Utiliser --enlever les fichiers de source Option pour supprimer un fichier de la source après un transfert réussi à la destination. Par exemple, vous devez planifier une sauvegarde des fichiers journaux au système distant. De plus, je voulais enregistrer le fichier à distance du système local après avoir copié avec succès à la télécommande. Cela aidera à réclamer l'espace disque.

    RSYNC --REMOVE-SOURCE-FILES -AVHZ / VAR / LOG [Protégé par e-mail]: / Backup / Logs /  

  15. Exclure un fichier ou un répertoire spécifique avec RSYNC
  16. Vous pouvez spécifier un fichier ou un modèle avec --exclure = modèle Option pour exclure de RSYNC.

    rsync -avh --exclude '*.zip '--exclude' *.log '/ src [e-mail protégé]: / dest  

  17. Inclure des fichiers spécifiques avec RSYNC
  18. Le RSYNC par défaut comprend tous les fichiers sous l'arborescence du répertoire source. Maintenant, vous devez inclure uniquement des fichiers spécifiques à synchroniser vers la destination.

    Ici, vous pouvez spécifier --inclure = motif Pour inclure des fichiers spécifiques et exclure tous les fichiers avec * .

    rsync -avhz -include '*.jpg '--include' *.txt '--exclude' * '/ src [e-mail protégé]: / dest  

  19. Afficher les progrès avec RSYNC
  20. Utiliser --progrès Option pour afficher les progrès lors du transfert de fichier entre la source et la destination avec la commande rsync.

    RSYNC -AVH --Progress / Src [e-mail protégé]: / dest  

  21. Autorisations de fichiers ChNAGE avec RSYNC
  22. Vous pouvez demander au RSYNC de modifier le propriétaire des fichiers et les propriétaires de groupes sur la destination. Utiliser l'option --chown = utilisateur: groupe avec RSYNC pour modifier l'autorisation du fichier.

    RSYNC -AVH --chown = utilisateur: groupe / src [e-mail protégé]: / dest  

    De même, vous pouvez utiliser le -chmod = chmod Option pour modifier les autorisations de fichiers ou de répertoires sur la destination.

    RSYNC -AVH --chmod = 755 / src [e-mail protégé]: / dest  

  23. RSSYNC Dry Run uniquement
  24. Utiliser --à sec Option d'exécuter uniquement le cycle sèche. Il vous montrera des résultats similaires à la commande originale, mais rien ne mettra à jour sur la destination. Fondamentalement, nous pouvons l'utiliser pour vérifier ce que le RSYNC mettra à jour avant de l'exécuter.

    RSYNC -AVH - Dry-run / src [e-mail protégé]: / dest  

Conclusion

RSYNC est un excellent service public pour transférer de grandes quantités de données entre deux machines. Vous pouvez également utiliser RSYNC pour sauvegarder l'ensemble du système à un emplacement de sauvegarde à distance dans cet article. Vous avez appris quelques exemples de commande RSYNC pratiques dans cet article qui sont parfaits pour les tâches quotidiennes.