Comment utiliser la commande rsync pour copier des fichiers sur Ubuntu

How Use Rsync Command Copy Files Ubuntu



rsync est un outil pour copier des fichiers. rsync est utilisé pour copier des fichiers de votre ordinateur vers une machine distante, d'une machine distante vers votre ordinateur, d'un répertoire vers un autre répertoire sur le même ordinateur, de votre ordinateur vers un disque dur externe ou un partage réseau, etc. rsync peut également être utilisé pour effectuer des sauvegardes incrémentielles.

Dans cet article, je vais vous montrer comment utiliser la commande rsync pour copier des fichiers et des répertoires et effectuer une sauvegarde incrémentielle. Je vais utiliser Ubuntu pour la démonstration. Mais toute distribution Linux moderne devrait fonctionner correctement. Alors, commençons.







Installation de rsync :

rsync devrait déjà être installé sur Ubuntu. Mais, s'il n'est pas installé sur votre ordinateur pour une raison quelconque, vous pouvez facilement l'installer à partir du référentiel de packages officiel d'Ubuntu avec la commande suivante :



$sudoapteinstallerrsync-et



Format de la commande rsync :

Le format de base de la commande rsync est,





$options de synchronisationla sourcedestination
  • la source peut être un fichier, un répertoire ou un chemin réseau.
  • destination peut être un répertoire ou un chemin réseau.
  • rsync a de nombreuses options. Vous pouvez modifier le comportement de rsync en utilisant ces options. Nous examinerons certaines des options les plus courantes en cours de route.

Lorsque vous utilisez rsync, vous devez connaître les éléments suivants :

  • Si vous mettez un / après le nom du répertoire dans le la source de rsync comme mes dossiers/ , alors cela signifie copier tous les fichiers de l'intérieur du répertoire uniquement vers le destination .
  • Si vous ne mettez pas de / après le nom du répertoire dans le la source de rsync comme mes dossiers , alors rsync copiera tous les fichiers du répertoire vers le destination y compris le répertoire.
  • Si vous saisissez un destination chemin de répertoire qui n'existe pas, alors rsync le créera automatiquement si nécessaire.

Sauvegarde des fichiers et répertoires locaux avec rsync :

Vous pouvez copier des fichiers d'un répertoire vers un autre répertoire sur votre ordinateur très rapidement avec rsync .



Par exemple, disons que vous avez des fichiers importants dans le ~/Téléchargements annuaire. Maintenant, vous voulez sauvegarder tous les fichiers du ~/Téléchargements répertoire sur votre clé USB /dev/sdb1 monté dans le répertoire / mnt / myusb .

Créons des fichiers factices dans le ~/Téléchargements annuaire.

$toucher~/Téléchargements/test{1..100}

Maintenant, copiez tous les fichiers du ~/Téléchargements répertoire vers / mnt / myusb répertoire avec la commande rsync suivante :

$rsync-avzh~/Téléchargements/ /mnt/myusb

Les fichiers doivent être copiés.

Comme vous pouvez le voir, les fichiers sont dans le / mnt / myusb annuaire.

Vous pouvez également copier l'ensemble ~/Téléchargements répertoire sur votre clé USB comme suit :

$rsync-avzh~/Téléchargements/mnt/myusb

Comme vous pouvez le voir, tout le répertoire est copié sur la clé USB.

Encore une fois, si vous vouliez copier tous les fichiers du ~/Téléchargements répertoire vers un autre répertoire (disons mes téléchargements/) sur votre clé USB, exécutez rsync comme suit :

$rsync-avzh~/Téléchargements/ /mnt/myusb/Mes Téléchargements

Comme vous pouvez le voir, les fichiers sont correctement copiés sur la clé USB.

Sauvegarde de fichiers et de répertoires distants avec rsync :

Avec rsync, vous pouvez copier des fichiers et des répertoires d'un serveur distant vers votre système de fichiers local ou votre clé USB à des fins de sauvegarde. Vous pouvez également copier des fichiers et des répertoires de votre système de fichiers local vers votre serveur de sauvegarde distant. rsync utilise SSH pour copier des fichiers et des répertoires vers/depuis le serveur distant.

Vous devez avoir un package de serveur SSH ( serveur openssh sur Ubuntu) et rsync package installé sur le serveur distant si vous souhaitez utiliser rsync à des fins de sauvegarde de fichiers.

Par exemple, disons que vous voulez copier tout le contenu (y compris le répertoire) du /www répertoire de votre serveur distant www.exemple1.com à votre clé USB montée sur le chemin / mnt / myusb sur votre système de fichiers local.

Pour ce faire, vous pouvez utiliser la commande rsync suivante :

$rsync-avzhracine@www.exemple1.com :/www/mnt/myusb

REMARQUE: Ici, racine est le nom d'utilisateur distant, www.exemple1.com est le nom DNS du serveur distant et /www est un chemin de répertoire sur le serveur distant. Vous pouvez également utiliser l'adresse IP du serveur distant au lieu du nom DNS si vous le souhaitez.

Le message suivant peut s'afficher si vous vous connectez au serveur distant pour la première fois. Tapez simplement Oui puis appuyez sur .

Maintenant, tapez le mot de passe de l'utilisateur distant (dans mon cas, c'est racine ) et appuyez sur .

Tous les fichiers et répertoires à l'intérieur du /www répertoire comprenant le répertoire /www doit être copié sur la clé USB comme vous pouvez le voir dans la capture d'écran ci-dessous.

Vous pouvez également copier des fichiers de votre système de fichiers local vers votre serveur distant avec rsync.

Dans l'exemple précédent, vous avez effectué une sauvegarde du /www répertoire sur le serveur distant. Maintenant, disons que certains des fichiers du serveur distant sont endommagés et que vous souhaitez les récupérer à partir de la sauvegarde.

Pour ce faire, exécutez la commande rsync comme suit :

$rsync-avzh /mnt/myusb/www/racine@www.exemple1.com :/www

Maintenant, tapez le mot de passe de votre serveur distant et appuyez sur .

Les fichiers doivent être copiés de votre système de fichiers local vers le serveur distant.

Effectuer des sauvegardes incrémentielles avec rsync :

Dans ce type de sauvegarde, le la source et destination les répertoires sont synchronisés. Si un fichier est ajouté au la source répertoire, il est ajouté au destination répertoire aussi. De la même manière, si un fichier ou un répertoire du la source répertoire est supprimé, il est supprimé du destination répertoire aussi.

rsync est un excellent outil pour effectuer une sauvegarde incrémentielle.

Disons que vous avez un répertoire ~/nuage dans votre utilisateur DOMICILE annuaire. Maintenant, vous souhaitez effectuer une sauvegarde incrémentielle du répertoire sur une clé USB montée sur le chemin / mnt / usb1 sur un serveur distant sauvegarde.exemple.com .

REMARQUE: Vous devez avoir serveur openssh et rsync packages installés sur votre serveur distant pour que cela fonctionne.

Pour effectuer une sauvegarde incrémentielle du ~/nuage , exécutez la commande suivante :

$rsync-avzh --effacer --le progrès~/nuage/shovon@backup.exemple.com :/mnt/usb1/sauvegarde

Maintenant, saisissez le mot de passe de votre utilisateur distant et appuyez sur .

Le contenu du ~/nuage doit être copié sur la clé USB du serveur distant.

Comme vous pouvez le voir, tous les fichiers sont copiés sur la clé USB montée sur le serveur de sauvegarde distant.

Maintenant, supprimons un fichier du système de fichiers local et voyons ce qui se passe.

$rm~/nuage/packages.txt

Maintenant, utilisez rsync pour synchroniser à nouveau les répertoires avec la même commande qu'auparavant.

$rsync-avzh --effacer --le progrès~/nuage/shovon@backup.exemple.com :/mnt/usb1/sauvegarde

Comme vous pouvez le voir, le fichier packages.txt est également retiré de la clé USB montée sur le serveur de sauvegarde distant.

Où aller ensuite :

Vous pouvez trouver plus d'informations sur rsync dans la page de manuel de rsync. La page de manuel de rsync contient une description détaillée de toutes les options de rsync. Je vous recommande fortement de vérifier cela.

Vous pouvez accéder à la page de manuel de rsync avec la commande suivante :

$hommersync

C'est ainsi que vous utilisez rsync pour copier des fichiers et effectuer des sauvegardes incrémentielles sur Ubuntu. Merci d'avoir lu cet article.