Comment utiliser la commande RSYNC pour copier des fichiers sur Ubuntu

Comment utiliser la commande RSYNC pour copier des fichiers sur 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 à un disque dur externe ou un partage réseau, etc. RSync peut également être utilisé pour prendre 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 prendre une sauvegarde incrémentielle. J'utiliserai Ubuntu pour la démonstration. Mais toute distribution Linux moderne devrait fonctionner très bien. Alors, commençons.

Installation de RSYNC:

RSYNC doit 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 package officiel d'Ubuntu avec la commande suivante:

$ sudo apt install rsync -y

Format de la commande RSYNC:

Le format de base de la commande RSYNC est,

$ RSYNC Options Source Destination
  • source peut être un fichier ou un répertoire ou un chemin de réseau.
  • destination peut être un répertoire ou un chemin de réseau.
  • RSYNC a de nombreuses options. Vous pouvez modifier le comportement de RSYNC en utilisant ces options. Nous allons examiner certaines des options les plus courantes en cours de route.

Lorsque vous utilisez RSYNC, vous devez connaître les choses suivantes:

  • Si vous mettez un / / Après le nom du répertoire dans le source de RSYNC tel que 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 un / / Après le nom du répertoire dans le source de RSYNC tel que mes dossiers, Ensuite, RSYNC copiera tous les fichiers du répertoire vers le destination y compris le répertoire.
  • Si vous tapez un destination Chemin de répertoire qui n'existe pas, puis RSYNC le créera automatiquement comme requis.

Sauvegarde des fichiers et répertoires locaux avec RSYNC:

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

Par exemple, disons que vous avez des fichiers importants dans le ~ / Téléchargements annuaire. Maintenant, vous souhaitez sauvegarder tous les fichiers à partir du ~ / Téléchargements Répertoire de votre lecteur de pouce USB / dev / sdb1 monté dans le répertoire / mnt / myusb.

Faisons des fichiers factice dans le ~ / Téléchargements annuaire.

$ touch ~ / téléchargements / test 1… 100

Maintenant, copiez tous les fichiers de la ~ / Téléchargements répertoire de / 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 le tout ~ / Téléchargements Répertoire à votre lecteur USB comme suit:

$ RSync -avzh ~ / téléchargements / mnt / myUSB

Comme vous pouvez le voir, l'ensemble du répertoire est copié sur le lecteur USB.

Encore une fois, si vous vouliez copier tous les fichiers à partir du ~ / Téléchargements Répertoire d'un autre répertoire (disons MyDownloads /) Sur votre lecteur de pouce USB, exécutez RSYNC comme suit:

$ RSync -avzh ~ / Téléchargements / / mnt / myUSB / MyDownloads

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

Sauvegarde des fichiers distants et des répertoires 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 le lecteur de pouce 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 à distance. RSYNC utilise SSH pour copier des fichiers et des répertoires vers / depuis le serveur distant.

Vous devez avoir un package SSH Server (OpenSSH-Server 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 souhaitez copier tous les contenus (y compris le répertoire) du / www Répertoire de votre serveur distant www.Exemple 1.com à votre lecteur de pouce USB monté sur le chemin / mnt / myusb Sur votre système de fichiers local.

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

$ RSync -avzh root @ www.Exemple 1.com: / www / mnt / myusb

NOTE: Ici, racine est le nom d'utilisateur distant, www.Exemple 1.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.

Vous pouvez voir le message suivant si vous vous connectez au serveur distant pour la première fois. Tapez juste Oui Et puis appuyez sur .

Maintenant, saisissez le mot de passe pour l'utilisateur distant (dans mon cas, c'est racine) et appuyer .

Tous les fichiers et répertoires à l'intérieur du / www Répertoire comprenant le répertoire / www devrait être copié sur le lecteur 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 pris une sauvegarde du / www Répertoire sur le serveur distant. Maintenant, disons, certains des fichiers du serveur distant sont endommagés et vous souhaitez les récupérer de la sauvegarde.

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

$ RSync -avzh / mnt / myUSB / www / root @ www.Exemple 1.com: / www

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

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

Prendre des sauvegardes incrémentielles avec RSYNC:

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

RSYNC est un excellent outil pour prendre une sauvegarde incrémentielle.

Disons, vous avez un répertoire ~ / Cloud dans votre utilisateur MAISON annuaire. Maintenant, vous voulez prendre une sauvegarde incrémentielle du répertoire à un lecteur de pouce USB monté sur le chemin / mnt / usb1 sur un serveur distant sauvegarde.exemple.com.

NOTE: Vous devez avoir OpenSSH-Server et rsync Packages installés sur votre serveur distant pour que cela fonctionne.

Pour prendre une sauvegarde incrémentielle du ~ / Cloud, Exécutez la commande suivante:

$ RSync -avzh --delete --progress ~ / cloud / shovon @ sauvegarde.exemple.com: / mnt / usb1 / sauvegarde

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

Le contenu du ~ / Cloud Le répertoire doit être copié sur le lecteur de pouce USB sur le serveur distant.

Comme vous pouvez le voir, tous les fichiers sont copiés sur le lecteur de pouce USB monté sur le serveur de sauvegarde à distance.

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

$ rm ~ / cloud / packages.SMS

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

$ RSync -avzh --delete --progress ~ / cloud / shovon @ sauvegarde.exemple.com: / mnt / usb1 / sauvegarde

Comme vous pouvez le voir, le fichier paquets.SMS est également supprimé du lecteur de pouce USB monté sur le serveur de sauvegarde distant.

Où aller ensuite:

Vous pouvez trouver plus d'informations sur RSYNC dans la page Man de RSync. La page man de RSYNC a 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 man de RSYNC avec la commande suivante:

$ man rsync

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