{{tag>app rsync sysadmin linux backup sauvegarde}}
====== rsync ======
Outil de copie incrémentielle de fichiers et dossiers. Rsync ne copie que la différence entre la source et la destination. La copie peut s'effectuer entre deux dossier locaux ou à distance avec SSH.
incrémentielle = copie les modification depuis la sauvegarde précédente.
Les principales options -Haurow
* **-H** Préserve les liens en dur.
* **-a** Mode archivage.
* **-u** Mettre à jour les fichiers modifiés par copie complète.
* **-r** Mode récursif.
* **-o** Préservation du propriétaire (owner).
* **-v** Verbeux.
Autres options communes
* **-t** Conserve les dates de modification.
* **-g** Conserve les groupes.
* **-l** Copie les liens symboliques comme des liens symboliques
* **-D** préserve les fichiers périphérique
Remarque: l'option **-a** (all) est équivalente à **-rlptgoD**
Pour supprimer sur l'arborescence destination les fichiers n'existant plus sur l'arborescence source il faut ajouter l'option **%%--delete%%**. Stocker les fichiers effacés de la source dans un dossier différent pour éviter la perte de données en cas de suppression accidentelle sur la source
%%--backup --backup-dir=/path/for/files/deleted%%
===== Exclure des dossiers =====
--exclude=/path/to/cache
==== Exclure grâce aux filtres ====
Certains fichiers ou dossiers sont inutiles pour la sauvegarde les filtres permettent de les exclure.
--filter "- .thumbnails/" --filter "- .Trash/" --filter "- *.tmp" --filter "- *.iso" --filter "- lost+found/"
**%%--force%%** pour forcer la suppression des répertoires même non vide.
Pour afficher la progression du transfert **%%--progress%%**
===== rsync + ssh =====
rsync /source user@server:/path/to/backup
Pour spécifier une clé privée pour l'authentification ssh
-e "ssh -i ~/.ssh/id_dsa"
Particulièrement utile pour automatiser les sauvegardes via un cron (le mot passe utilisateur n'est plus demandé).