RSYNC exclure le répertoire

RSYNC exclure le répertoire

La commande RSYNC sur un système Linux peut être utilisée pour synchroniser le contenu de deux répertoires. Par défaut, RSYNC sera transféré tous fichiers et répertoires sur la destination spécifiée. S'il y a un sous-répertoire que vous souhaitez exclure du transfert, RSYNC nous offre deux options pour le faire.

Dans ce tutoriel, nous montrerons deux méthodes pour exclure un ou plusieurs répertoires d'un transfert RSYNC. Suivez l'exemple de commandes ci-dessous sur votre propre système pour configurer un répertoire d'exclusion.

Dans ce tutoriel, vous apprendrez:

  • Comment exclure un répertoire dans la commande rsync
À l'exclusion d'un répertoire du transfert RSYNC Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel rsync
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Exclure le répertoire dans RSYNC



La première option que nous couvrirons est d'utiliser le --exclure Option dans la commande rsync. Voici comment il serait utilisé pour exclure le répertoire linuxconfig Dans l'exemple de commande ci-dessous.

$ rsync -av --exclude LinuxConfig / Path / To / Src / / Path / To / dest / 

Dans la commande ci-dessus, nous synchronisons le contenu de / chemin / vers / src avec celui de / chemin / vers / dest et omettant le linuxconfig annuaire. Notez cependant que le chemin vers linuxconfig est relatif à celui de notre chemin source, qui dans ce cas est / chemin / vers / src. Par conséquent, RSYNC suppose que le répertoire linuxconfig est à l'intérieur de / chemin / vers / src.

Mais et si le linuxconfig Le répertoire est en fait un peu plus profond dans notre répertoire source? Disons que le chemin absolu vers le répertoire que nous souhaitons exclure est en fait / path / to / src / some / subdir / linuxconfig. Dans ce cas, notre commande RSYNC ressemblerait à ceci:

$ RSYNC -AV --Exclure certains / subdir / linuxconfig / path / to / src / / path / to / dest / 

Maintenant, que diriez-vous de plusieurs répertoires? Nous pouvons utiliser autant --exclure Options comme nous le voulons. Essayons d'exclure trois répertoires de notre transfert RSYNC avec cette commande:

$ rsync -av --exclule certains / subdir / linuxconfig --exclule certains / autres / dir --exclule exampledir / path / to / src / / path / to / dest / 

La commande ci-dessus fera son travail comme prévu, mais comme vous pouvez le voir, la commande se développe progressivement plus lourde alors que nous y ajoutons des répertoires plus exclus. Et si nous voulons exclure 15 répertoires? Cette commande sera une monstruosité. Mais c'est là que rsyn'c autre option --exclure de entre en jeu.

Le --exclure de L'option RSYNC nous permet de spécifier un fichier qui contient une liste des répertoires à exclure. Le fichier doit être en clair, donc un simple .Le fichier txt fera. Énumérez un répertoire par ligne lorsque vous compilez la liste des répertoires que vous souhaitez exclure.



$ Cat exclusion-liste.txt some / subdir / linuxconfig some / autre / dir exampledir 

Avec notre fichier d'exclusions créé, nous pouvons maintenant le référencer dans notre commande RSYC:

$ RSYNC -AV --Exclude-from = 'Exclude-list.txt '/ path / to / src / / path / to / dest / 

Maintenant, nous excluons les trois mêmes répertoires qu'auparavant, mais notre commande est beaucoup plus concise et nous pouvons continuer à ajouter plus de répertoires à notre fichier d'exclusion au besoin.

Conclusion

Dans cet article, nous avons appris deux méthodes pour exclure un ou plusieurs répertoires d'une commande RSYNC à Linux. Une option est bonne pour un petit nombre d'exclusions et l'autre est plus appropriée lorsque vous avez une longue liste de répertoires que vous souhaitez exclure. Mais leur fonction principale est la même et vous devriez utiliser le meilleur pour votre scénario de sauvegarde.

Tutoriels Linux connexes:

  • Exemples RSync dans Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 20.04
  • Comment monter l'image ISO sur Linux
  • Commandes Linux de base
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Comment supprimer le répertoire et le contenu dans Linux
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Une introduction à l'automatisation Linux, des outils et des techniques