Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
rsync [Le 19/12/2020, 08:42] christophe c [Inclure des fichiers] Quelques options |
rsync [Le 15/05/2025, 15:19] (Version actuelle) krodelabestiole mise en forme / +rclone +rsnapshot / réorganisation / màj |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>sauvegarde synchronisation}} | {{tag>sauvegarde synchronisation}} | ||
- | |||
- | ---- | ||
====== rsync ====== | ====== rsync ====== | ||
===== Présentation ===== | ===== Présentation ===== | ||
- | **rsync** (pour **r**emote **sync**hronization ou synchronisation à distance), est un logiciel ((sous licence **[[wpfr>Licence_publique_générale_GNU|GNU GPL]]**)) de synchronisation de fichiers. Il est fréquemment utilisé pour mettre en place des systèmes de [[:sauvegarde]] distante ou des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système (via l'interface [[timeshift|Timeshift]]). | ||
- | rsync travaille de manière unidirectionnelle c'est-à-dire qu'il synchronise, copie ou actualise les données d'une source (locale ou distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés. | + | **[[wpfr>rsync]]**(([[https://github.com/RsyncProject/rsync|GitHub]])) (pour //**r**emote **sync**hronization// ou synchronisation à distance) est une application ((sous licence **[[wpfr>Licence_publique_générale_GNU|GNU GPL]]**)) de synchronisation de fichiers en [[:commande shell|ligne de commande]]. Il est parfois utilisé pour mettre en place des systèmes de [[:sauvegarde|sauvegardes]] distantes ou des [[:points_de_restauration_pour_un_systeme_linux|points de restauration]] du système (par exemple via l'outil [[:rsnapshot]] ou l'interface [[:Timeshift]]). |
- | <note help>La notion d’unidirectionnalité semble souvent mal comprise : elle signifie qu'en une commande, la synchronisation ne peut se faire que dans un sens. Rien n'empêche ensuite de relancer la commande une seconde fois dans l'autre sens !</note> | + | |
+ | **rsync** travaille de manière unidirectionnelle c'est-à-dire qu'il synchronise, copie ou actualise les données d'une source (locale ou distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés. | ||
+ | <note help>La notion d’unidirectionnalité semble parfois mal comprise : elle signifie qu'en une commande, la synchronisation ne peut se faire que dans un sens. Rien n'empêche ensuite de lancer une autre commande pour effectuer l'opération dans l'autre sens !</note> | ||
+ | |||
+ | En particulier pour une entreprise, un [[:tutoriel:serveur_de_synchronisation_avec_rsync|serveur de synchronisation]] est utile pour centraliser les sauvegardes sur une même machine équipée accessoirement d'un enregistreur de bande. | ||
- | D'un point de vue de l'entreprise, un [[:tutoriel:serveur_de_synchronisation_avec_rsync|serveur de synchronisation]] est utile pour centraliser les sauvegardes sur une même machine équipée accessoirement d'un enregistreur de bande. | + | Pour un particulier habitué à la [[:commande shell|ligne de commande]], il est intéressant (si vous avez plusieurs machines), d'avoir une [[:sauvegarde]] simple et rapide de son //Dossier Personnel//. |
- | Pour le particulier, il est intéressant (si vous avez plusieurs machines), d'avoir une sauvegarde simple et rapide de son //Dossier Personnel//. \\ | + | Ici nous verrons son utilisation basique. Pour plus de détails, allez voir ce tutoriel : //[[:tutoriel:sauvegarder_home_avec_rsync|Sauvegarder "/home" avec rsync]]//. |
- | Ici nous verrons son utilisation basique. Pour plus de détails, allez voir ce [[tutoriel:sauvegarder_home_avec_rsync|tutoriel : "Sauvegarder "/home" avec rsync"]]. | + | Pour les personnes qui n’aiment pas la ligne de commande, il existe des interfaces graphiques à **rsync**, telles que [[:Grsync]]. |
- | Pour les personnes qui n’aiment pas la ligne de commande, **il existe une interface graphique à rsync : [[grsync|Grsync]] !!** | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
+ | |||
Comme l'indique le manuel : | Comme l'indique le manuel : | ||
- | "rsync est un programme très similaire à rcp, mais possède bien plus d'options et utilise le protocole de mise à jour à distance rsync afin d'accélérer significativement le transfert de fichiers lorsque le fichier de destination existe déjà." | + | "//**rsync** est un programme très similaire à **rcp**, mais possède bien plus d'options et utilise le protocole de mise à jour à distance **rsync** afin d'accélérer significativement le transfert de fichiers lorsque le fichier de destination existe déjà.//" |
L'appel de base : | L'appel de base : | ||
- | <code>rsync source/ destination/</code> | + | <code bash>rsync source/ destination/</code> |
+ | |||
+ | En **local**, pour une copie/synchro de votre répertoire vidéo vers un disque dur externe (de sauvegarde) [[montage|monté]] dans **/media/$USER/**, cela donne : | ||
+ | <code bash>rsync -av /home/$USER/Vidéos/ /media/$USER/film_music/Vidéos/</code> | ||
+ | L'option ''-v'' affiche les fichiers sauvegardés au fur et à mesure. Pour l'option ''-a'', voir plus bas. | ||
+ | ''$USER'' est la variable d’environnement système qui permet d'accéder au nom d’utilisateur de la session en cours.\\ | ||
+ | Vous pouvez relancer cette commande à chaque nouvelle synchro, seuls les nouveaux fichiers seront synchronisés. | ||
- | L'intérêt est une utilisation à travers le réseau. **rsync** utilise [[SSH]] par défaut. Un exemple : | + | En **réseau**, **rsync** utilise [[SSH]] par défaut. Un exemple : |
- | <code>rsync -az source/ login@serveur.org:/destination/</code> | + | <code bash>rsync -az source/ login@serveur.org:/destination/</code> |
- | où: | + | où: |
- | * //-a// ou //%%--%%archive// : est un moyen rapide de dire que vous voulez la récursivité et préserver pratiquement tout. La seule exception est que si //%%--%%files-from// a été spécifiée alors //-r// n'est pas utilisée. Ceci est équivalent à //-rlptgoD//. | + | * ''-a'' ou ''%%--%%archive'' : est un moyen rapide de dire que vous voulez la récursivité et préserver pratiquement tout. La seule exception est que si ''%%--%%files-from'' a été spécifiée alors ''-r'' n'est pas utilisée. Ceci est équivalent à ''-rlptgoD''. |
- | * //-z// ou //%%--%%compress// : compresse les données lors du transfert. (Limite la bande passante mais augmente l'utilisation processeur et le temps de transfert : inutile en réseau local ou avec très bon débit) | + | * ''-z'' ou ''%%--%%compress'' : compresse les données lors du transfert. (Limite la bande passante mais augmente l'utilisation processeur et le temps de transfert : inutile en réseau local ou avec très bon débit) |
<note important> | <note important> | ||
Attention, il convient d'être vigilant dans l'utilisation ou non du slash (« / ») dans le chemin de la source. Ainsi, les deux commandes suivantes **ne sont pas** équivalentes : | Attention, il convient d'être vigilant dans l'utilisation ou non du slash (« / ») dans le chemin de la source. Ainsi, les deux commandes suivantes **ne sont pas** équivalentes : | ||
- | <code>rsync source destination/ | + | <code bash>rsync source destination/ |
rsync source/ destination/</code> | rsync source/ destination/</code> | ||
En effet, la première commande va **_créer_** le dossier source dans le dossier destination en ajoutant donc un niveau dans l'arborescence. La deuxième commande copie le **_contenu_** du dossier source dans le dossier destination. | En effet, la première commande va **_créer_** le dossier source dans le dossier destination en ajoutant donc un niveau dans l'arborescence. La deuxième commande copie le **_contenu_** du dossier source dans le dossier destination. | ||
Autrement dit, les deux commandes suivantes sont, elles, équivalentes* : | Autrement dit, les deux commandes suivantes sont, elles, équivalentes* : | ||
- | <code>rsync source destination/ | + | <code bash>rsync source destination/ |
rsync source/ destination/source/</code> | rsync source/ destination/source/</code> | ||
Enfin, il faut noter que l'utilisation ou non d'un slash final dans le chemin de la destination n'a aucune incidence. Les deux commandes suivantes sont donc équivalentes : | Enfin, il faut noter que l'utilisation ou non d'un slash final dans le chemin de la destination n'a aucune incidence. Les deux commandes suivantes sont donc équivalentes : | ||
- | <code>rsync source destination/ | + | <code bash>rsync source destination/ |
rsync source destination</code> | rsync source destination</code> | ||
Ligne 51: | Ligne 58: | ||
<note> | <note> | ||
Pour une gestion du port ssh, utiliser la syntaxe suivante: | Pour une gestion du port ssh, utiliser la syntaxe suivante: | ||
- | <code> | + | <code bash> |
- | rsync -avz source -e "ssh -p port" user@ip:"/chemin/de destination avec espaces/" | + | rsync -avz chemin/source/ -e "ssh -p port" user@ip:"/chemin/de destination avec espaces/" |
</code> | </code> | ||
</note> | </note> | ||
+ | |||
==== Créer un dossier miroir ==== | ==== Créer un dossier miroir ==== | ||
- | Voici un exemple d'une commande, utilisant le protocole [[SSH]], qui copie à l'identique le dossier <source> vers le dossier <destination>. | + | |
+ | Voici un exemple d'une commande, utilisant le protocole [[:SSH]], qui copie à l'identique le dossier <source> vers le dossier <destination>. | ||
Copie du dossier source vers le serveur : | Copie du dossier source vers le serveur : | ||
- | <code>rsync -e ssh -avz --delete-after /home/source user@ip_du_serveur:/dossier/destination/</code> | + | <code bash>rsync -e ssh -avz --delete-after /home/source user@ip_du_serveur:/dossier/destination/</code> |
où : | où : | ||
- | * //<nowiki>--</nowiki>delete-after// : à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source. | + | * ''%%--%%delete-after'' : à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source. |
- | * //-z// : compresse les fichiers (Limite la bande passante mais augmente l'utilisation processeur et le temps de transfert : inutile en réseau local ou avec très bon débit) | + | * ''-z'' : compresse les fichiers (Limite la bande passante mais augmente l'utilisation processeur et le temps de transfert : inutile en réseau local ou avec très bon débit) |
- | * //-v// : verbeux | + | * ''-v'' : verbeux |
- | * //-e ssh// : utilise le protocole [[SSH]] | + | * ''-e ssh'' : utilise le protocole [[:SSH]] |
Si les noms des chemins contiennent des espaces, on peut les écrire entre guillemet pour échapper les espaces : | Si les noms des chemins contiennent des espaces, on peut les écrire entre guillemet pour échapper les espaces : | ||
- | <code>rsync -e ssh -avz --delete-after "/home/source avec espace/" user@ip_du_serveur:"/dossier/destination avec espace/"</code> | + | <code bash>rsync -e ssh -avz --delete-after "/home/source avec espace/" user@ip_du_serveur:"/dossier/destination avec espace/"</code> |
- | Avec l'option //-n// la commande liste ce qu'elle va faire sans l'exécuter : | + | <note> |
- | <code>rsync -e ssh -avzn --delete-after /home/mondossier_source user@ip_du_serveur:/dossier/destination/</code> | + | Attention à partir de la version 3.0, d'après le man, le caractère espace doivent être échappés pour être compris et le chemin doit être indiqué entre apostrophe. Donc l'instruction précédente devient : |
+ | <code bash> | ||
+ | rsync -avz chemin/source/ -e "ssh -p port" user@ip:'/chemin/de\ destination\ avec\ espaces/' | ||
+ | </code> | ||
+ | </note> | ||
+ | |||
+ | Avec l'option ''-n'' la commande liste ce qu'elle va faire sans l'exécuter : | ||
+ | <code bash>rsync -e ssh -avzn --delete-after /home/mondossier_source user@ip_du_serveur:/dossier/destination/</code> | ||
==== Exclure des fichiers ==== | ==== Exclure des fichiers ==== | ||
- | On peut exclure des fichiers/dossiers selon beaucoup de schémas. C'est utile pour ne pas sauvegarder le cache, les fichiers temporaires, le répertoire //.git//, la corbeille, etc… | + | |
+ | On peut exclure des fichiers/dossiers selon beaucoup de schémas. C'est utile pour ne pas sauvegarder le cache, les fichiers temporaires, le répertoire ''.git'', la corbeille, etc… | ||
+ | |||
+ | L'exclusion d'un dossier est identique à l'exclusion d'un fichier : il suffit d'indiquer le chemin d'accès relatif au répertoire source. | ||
* Liste dans la commande : <code bash>rsync --exclude="nom_de_dossier" --exclude="- autre_nom_de_dossier" source/ destination/</code> | * Liste dans la commande : <code bash>rsync --exclude="nom_de_dossier" --exclude="- autre_nom_de_dossier" source/ destination/</code> | ||
+ | * Liste entre accolades. Les répertoires ou les fichiers sont traités de la même façon, par leur nom. Ici, **.cache** est un répertoire, mais **.tmp** est l'ensemble des fichiers temporaires (en cas d'appel de ce script via l'interpréteur, il faut ici utiliser **bash -c** au lieu de **sh -c**, car les accolades sont propres au bash) <code bash>rsync -av --exclude={'Musique','Vidéos','.cache','flatpak','Trash','*.tmp','Bureau'} source/ destination/</code> | ||
* Un fichier de règles d'exclusion <code bash>rsync --exclude-from=ExclusionRSync source/ destination/ </code>\\ Et le fichier ExclusionRSync dans le dossier courant sera de cette forme : <code bash>tmp | * Un fichier de règles d'exclusion <code bash>rsync --exclude-from=ExclusionRSync source/ destination/ </code>\\ Et le fichier ExclusionRSync dans le dossier courant sera de cette forme : <code bash>tmp | ||
.Trash | .Trash | ||
Ligne 84: | Ligne 104: | ||
==== Inclure des fichiers ==== | ==== Inclure des fichiers ==== | ||
- | Dès lors qu'on exclut, il peut être nécessaire d'inclure.\\ | ||
- | Exemple, vous souhaitez ne synchroniser qu'un type de fichier, mettons des .csv, cela donne | ||
- | <code bash>rsync --include="*.csv" --exclude="*" source/ destination/</code> | ||
- | <note important>il faut respecter l'ordre //include// **puis** //exclude//</note> | ||
- | ==== Quelques options ==== | + | Dès lors qu'on exclut, il peut être nécessaire d'inclure. |
- | Il y a de nombreuses options (voir [[http://www.delafond.org/traducmanfr/man/man1/rsync.1.html|ici]]), mais en voila quelques une : | + | |
- | -a : archive => préserve les dates, permissions, etc ... des fichiers. Inclus l'option récursivité. Option à utiliser quand on veut transférer des répertoires entiers avec leurs sous-répertoires en préservant toutes les caractéristiques des fichiers. | + | |
- | -r : la synchro est récursive (elle prend les sous-répertoires) | + | |
- | -v : verbeux (affichage de ce que fait la commande pendant qu'elle le fait) | + | |
- | -l : copie les liens symboliques comme liens symboliques | + | |
- | -L : remplace les liens symboliques par les fichiers référencés | + | |
- | --remove-sent-files : les fichiers envoyés sont __supprimés__ de chez l'émetteur | + | |
- | --delete : efface sur la cible les fichiers qui ont disparus du répertoire de départ. Option très importante qui permet d'être sûr que la copie est identique à l'original. Mais si on se trompe sur l'original, on perd la copie. | + | |
- | --exclude=MOTIF : exclus de la synchro les fichiers correspondant au MOTIF (par exemple ***.txt** pour exclure les fichiers avec l'extension **.txt**). | + | |
- | -z : comprimes les fichiers pendant le transfert. N'a d’intérêt que pour des transferts à travers des réseaux, car sinon la compression / décompression fait perdre du temps. | + | |
+ | Attention, ''%%--%%include'' ne s'utilise qu'avec ''%%--%%exclude'', et n'est qu'une exception à ce dernier (qui doit //toujours// suivre le ''%%--%%include'').\\ | ||
+ | Exemple, vous souhaitez ne synchroniser qu'un type de fichier, mettons des ''.csv'', cela donne : | ||
+ | <code bash>rsync --include="*.csv" --exclude="*" source/ destination/</code> | ||
+ | Cette commande se lit ainsi : exclure **tout** (c'est le caractère ''*'') ce qui est dans ''source/'' //sauf// les fichiers ''.csv'', qui seront donc les seuls à être copiés. | ||
- | ==== Interface graphique : Grsync ou Timeshift ==== | + | La commande suivante copie 3 répertoires (et leur contenu) depuis le répertoire ''/user/''. les autres répertoires ou fichiers ne sont pas transférés. |
- | Dans les [[:dépôts]] vous trouverez notamment le logiciel [[Grsync]] qui offre une interface graphique pour rsync. Voir aussi [[:tutoriel:sauvegarder_home_avec_grsync|ce tutoriel pour sauvegarder tout son home avec Grsync]]. | + | <code bash>rsync -av --include={'Documents/***','Images/***','snap/***'} --exclude=* /home/user/ destination/</code> |
- | Depuis la version 20.04 d'Ubuntu, on trouve aussi dans les dépôts le logiciel [[timeshift|Timeshift]], qui utilise rsync pour créer des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système et des logiciels, dans une logique similaire à celle du //TimeMachine// de MacOs. | + | Le caractère générique ''%%***%%'' (3 étoiles) est fondamental pour les répertoires dans le ''%%--%%include''. Il indique que le ''%%--%%include'' ne vaut pas que pour le répertoire, mais aussi pour tout ce qu'il contient. Sans lui, c'est un répertoire vide qui est transféré. |
- | Voir aussi la page [[:sauvegarde]] pour trouver d'autres interfaces graphiques. | + | ==== Quelques options ==== |
- | ===== Tutoriel ===== | + | |
- | * [[:tutoriel:sauvegarder_home_avec_rsync|Sauvegarde de "/home" avec rsync]] ou avec l'interface graphique [[:tutoriel:sauvegarder_home_avec_grsync|Grsync]] | + | De nombreuses options existent (voir [[https://www.delafond.org/traducmanfr/man/man1/rsync.1.html|ici]]), en voici quelques unes : |
- | * [[:tutoriel:serveur_de_synchronisation_avec_rsync|Serveur de synchronisation avec rsync]] | + | * ''-a'' : archive => préserve les dates, permissions, etc ... des fichiers. Inclut l'option récursivité. Option à utiliser quand on veut transférer des répertoires entiers avec leurs sous-répertoires en préservant toutes les caractéristiques des fichiers. |
+ | * ''-r'' : la synchro est récursive (elle prend les sous-répertoires). Est inclus dans l'option ''-a'' | ||
+ | * ''-v'' : verbeux (affichage de ce que fait la commande pendant qu'elle le fait). | ||
+ | * ''-l'' : copie les liens symboliques comme liens symboliques. Est inclus dans l'option ''-a'' | ||
+ | * ''-L'' : remplace les liens symboliques par les fichiers référencés. | ||
+ | * ''%%--%%remove-sent-files'' : les fichiers envoyés sont //supprimés// de chez l'émetteur. Il ne s'agit donc plus de faire une synchro mais bien de faire un //transfert//. | ||
+ | * ''%%--%%delete'' : efface sur la cible les fichiers qui ont disparu du répertoire de départ. Option très importante qui permet d'être sûr que la copie est identique à l'original. Mais si on se trompe sur l'original, on perd la copie. | ||
+ | * ''%%--%%delete-after'' : idem option précédente, mais fait l'effacement à la fin du transfert. Surtout intéressant avec l'option ''-v'' ('verbeux') : les fichiers effacés sont plus clairement affichés à la fin, et pas dispersés dans l'ensemble des retours écran. | ||
+ | * ''%%--%%exclude=MOTIF'' : exclut de la synchro les fichiers correspondant au MOTIF (par exemple ''*.txt'' pour exclure les fichiers avec l'extension ''.txt''). | ||
+ | * ''-z'' : compresse les fichiers pendant le transfert. N'a d’intérêt que pour des transferts à travers des réseaux, car sinon la compression / décompression fait perdre du temps. | ||
==== Sauvegarde distante du serveur web ==== | ==== Sauvegarde distante du serveur web ==== | ||
Cas présenté : | Cas présenté : | ||
- | * un serveur distant s'exécutant sous le compte système www-data. | + | * un serveur distant s'exécutant sous le compte système ''www-data''. |
- | * ce serveur est accessible via ssh | + | * ce serveur est accessible via [[:SSH]] |
* on a un compte utilisateur pour se connecter sur ce serveur | * on a un compte utilisateur pour se connecter sur ce serveur | ||
* ce compte (ou un autre) a les droits d'administration de la machine | * ce compte (ou un autre) a les droits d'administration de la machine | ||
* une machine sur laquelle sauvegarder les données | * une machine sur laquelle sauvegarder les données | ||
- | * on a un compte utilisateur avec le droit sudo | + | * on a un compte utilisateur avec le droit [[:sudo]] |
Pour l'exemple qui suit : | Pour l'exemple qui suit : | ||
- | - sur la machine locale, on devient //www-data// pour travailler avec les droits de ce dernier | + | - sur la machine locale, on devient ''www-data'' pour travailler avec les droits de ce dernier |
- | - www-data exécute la commande rsync qui va établir une connexion via ssh au serveur distant avec le compte //utilisateur// (on peut avoir besoin de saisir le mot de passe de l'utilisateur distant si on n'a pas déposé de clef publique) | + | - ''www-data'' exécute la commande ''rsync'' qui va établir une connexion via [[:SSH]] au serveur distant avec le compte //utilisateur// (on peut avoir besoin de saisir le mot de passe de l'utilisateur distant si on n'a pas déposé de clef publique) |
- | - sur le serveur distant, via ssh, //utilisateur// va lancer sudo pour devenir //www-data// | + | - sur le serveur distant, via [[:SSH]], //utilisateur// va lancer ''sudo'' pour devenir ''www-data'' |
- | - //www-data// exécute la commande rsync qui échange les informations avec la machine locale | + | - ''www-data'' exécute la commande ''rsync'' qui échange les informations avec la machine locale |
Sur le serveur distant : | Sur le serveur distant : | ||
- | * Autoriser l'utilisateur à lancer la commande rsync sous le compte système www-data grace à [[sudo]], __sans mot de passe__: <code>sudo visudo</code><file>utilisateurssh ALL=(www-data) NOPASSWD: /usr/bin/rsync</file> | + | * Autoriser l'utilisateur à lancer la commande ''rsync'' sous le compte système ''www-data'' grâce à [[:sudo]], //sans mot de passe// :<code bash>sudo visudo</code><file>utilisateurssh ALL=(www-data) NOPASSWD: /usr/bin/rsync</file> |
- | * Optionnel : déposer une clef publique ssh au besoin pour l'utilisateur | + | * Optionnel : déposer une clef publique [[:SSH]] au besoin pour l'utilisateur |
Sur la machine locale : | Sur la machine locale : | ||
- | * Lancer une synchronisation en tant qu'utilisateur www-data grace à [[sudo]]<code>sudo -u www-data rsync -a --progress -e ssh --rsync-path "sudo -u www-data rsync" utilisateur@serveur_distant:/var/www/ /var/www/</code> | + | * Lancer une synchronisation en tant qu'utilisateur www-data grace à [[sudo]]<code bash>sudo -u www-data rsync -a --progress -e ssh --rsync-path "sudo -u www-data rsync" utilisateur@serveur_distant:/var/www/ /var/www/</code> |
+ | |||
+ | ==== Interface graphique : Grsync ou Timeshift ==== | ||
+ | |||
+ | Les logiciels graphiques utilisant **rsync** sont assez nombreux. Certains font plutôt de la sauvegarde du système, de la sauvegarde de données, de la pure synchronisation... | ||
+ | |||
+ | * Dans les [[:dépôts]] vous trouverez notamment le logiciel **[[:Grsync]]** qui offre une interface graphique pour **rsync**, plutôt dans une logique de synchronisation. Voir aussi [[:tutoriel:sauvegarder_home_avec_grsync|ce tutoriel]] pour sauvegarder tout son home avec **Grsync**. | ||
+ | * Depuis la version 20.04 d'Ubuntu, on trouve aussi dans les dépôts le logiciel **[[:Timeshift]]**, qui utilise **rsync** pour créer des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système d'exploitation et des logiciels, dans une logique similaire à celle du //TimeMachine// de MacOs. | ||
+ | * **[[:BackInTime]]** utilise aussi **rsync** pour prendre ses //snapshots//. | ||
+ | * **[[http://luckybackup.sourceforge.net/|LuckyBackup]]** utilise aussi **rsync** pour ses sauvegardes. | ||
+ | * Idem pour **[[https://korben.info/cronopete-clone-de-time-machine-linux.html|cronopete]]** (qui n'est pas dans les dépôts). | ||
+ | |||
+ | Voir aussi les pages //[[:synchronisation]]// et //[[:sauvegarde]]// pour trouver éventuellement d'autres interfaces graphiques.\\ | ||
+ | On peut aussi rechercher ''rsync'' dans le [[:snap store|Centre d'applications]] ou sur [[:gnome-software|GNOME Logiciels]], ainsi que sur [[https://snapcraft.io/store?q=rsync|Snapcraft]] et [[https://flathub.org/apps/search?q=rsync|Flathub]]. | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(//en//)** [[https://rsync.samba.org/|Site officiel]] | ||
+ | * [[:Grsync]] : interface graphique à **rsync**. | ||
+ | * [[:Timeshift]] : interface graphique à **rsync** - prend des [[points_de_restauration_pour_un_systeme_linux|points de restauration]] du système. | ||
+ | * [[:rclone]] : une alternative à **rsync** plus performante et plus versatile, présentée comme //**rsync** pour les services [[:cloud]]//. | ||
+ | * [[:rsnapshot]] : étend les fonctionnalités de **rsync** pour faciliter la création d'instantanés (//snapshot//) et de [[:sauvegardes]]. | ||
+ | * **(fr)** [[https://man.developpez.com/man1/rsync/|Le man de rsync en français]]((« traduction de Denis Mertz, 2002. Mise à jour par Éric Piel <eric POINT piel AT tremplin-utc POINT net>, 2005. Relecture par Frédéric Delanoy et Julien Soula. » (extrait de développez.com, 2005) (Lien mort? [[https://www.delafond.org/traducmanfr/man/man1/rsync.1.html|autre solution]], même contenu).)) | ||
+ | * **(fr)** //[[http://www.it-connect.fr/synchronisation-rsync-entre-windows-et-linux/|Synchronisation Rsync entre Windows et Linux]]// sur IT-Connect.fr ainsi que //[[https://thedatafrog.com/fr/articles/backup-rsync-windows-wsl/|Backup sous Windows avec rsync (WSL)]]// | ||
+ | |||
+ | ==== Tutoriels ==== | ||
+ | |||
+ | * [[:tutoriel:sauvegarder_home_avec_rsync|Sauvegarde de "/home" avec rsync]] ou avec l'interface graphique [[:tutoriel:sauvegarder_home_avec_grsync|Grsync]] | ||
+ | * [[:tutoriel:serveur_de_synchronisation_avec_rsync|Serveur de synchronisation avec rsync]] | ||
[[https://crashingdaily.wordpress.com/2007/06/29/rsync-and-sudo-over-ssh/|Source de ce tutoriel]], adaptée pour le cas présenté | [[https://crashingdaily.wordpress.com/2007/06/29/rsync-and-sudo-over-ssh/|Source de ce tutoriel]], adaptée pour le cas présenté | ||
- | ===== Liens ===== | ||
- | * [[grsync|Grsync]] : interface graphique à rsync. | ||
- | * **(en)** [[http://rsync.samba.org/|Site officiel]] | ||
- | * **(fr)** [[http://man.developpez.com/man1/rsync/|Le man de rsync en français]], « traduction de Denis Mertz, 2002. Mise à jour par Éric Piel <eric POINT piel AT tremplin-utc POINT net>, 2005. Relecture par Frédéric Delanoy et Julien Soula. » (extrait de développez.com, 2005) (Lien mort? [[http://www.delafond.org/traducmanfr/man/man1/rsync.1.html|autre solution]], même contenu). | ||
- | * **(fr)** [[http://www.it-connect.fr/synchronisation-rsync-entre-windows-et-linux/|Synchronisation Rsync entre Windows et Linux]] sur IT-Connect.fr | ||
---- | ---- | ||
// Contributeur : [[utilisateurs:ostaquet]], [[utilisateurs:jahwork]]// | // Contributeur : [[utilisateurs:ostaquet]], [[utilisateurs:jahwork]]// |