# [Backup] Rsync

## Introduction

Rsync est un logiciel de sauvegarde incrémentale ce qui apporte un gain de performance et d'espace disque.

Cependant, contrairement à la sauvegarde différentielle, seulement la dernière version de la sauvegarde est restaurable.

## [![Rsync.png](https://wiki.neopipe.fr/uploads/images/gallery/2023-07/scaled-1680-/rsync.png)](https://wiki.neopipe.fr/uploads/images/gallery/2023-07/rsync.png)

## Copier un répertoire  


```bash
rsync -a <SOURCE/> <DESTINATION/>
```

## Options courantes

`<strong>-a</strong> : Synchronise récursivement tout le répertoire (inclus sous-répertoires) tout en préservant les permissions, les dates, les propriétaires et les liens symboliques.`

`<strong>-v</strong> : Mode verbeux.`

`<strong>-z</strong> : Compression des données pendant le transfert.`

`<strong>--delete</strong> : Supprime les fichiers dans la destination qui n'existent pas dans la source.`

`<strong>--exclude</strong> : Exclut certains fichiers ou répertoires de la synchronisation.`

`<strong>--progress</strong> : Affiche une barre de progression du transfert.`

`<strong>--dry-run</strong>` : Effectue une simulation sans effectuer réellement la copie.

`<strong>-h</strong> : Affiche les tailles de fichiers dans un format lisible par l'homme (KB, MB, GB, etc.).`

## Exemples courants

#### Copier localement un répertoire vers un autre  


```bash
rsync -av <SOURCE/> <DESTINATION/>
```

#### Copier vers une machine distante via SSH :

```bash
rsync -avz <SOURCE/> <USER>@<REMOTE_HOST>:</DESTINATION_PATH>
```

#### Supprimer les fichiers dans la destination qui n'existent plus dans la source :

```bash
rsync -av --delete <SOURCE/> <DESTINATION/>
```

Exclure certains fichiers ou répertoires de la synchronisation :

```bash
rsync -av --exclude='*.txt' <SOURCE/> <DESTINATION/>
```

<div class="bg-black rounded-md mb-4" id="bkmrk--1"><div class="flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans justify-between rounded-t-md">  
</div></div>