{{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é).