| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| tutoriel:sauvegarder_home_avec_rsync [Le 02/02/2024, 13:03] – [Sauvegarde utilisant une fois l'espace disque émetteur augmenté de la taille cumulée des modifications] geole | tutoriel:sauvegarder_home_avec_rsync [Le 01/08/2026, 18:26] (Version actuelle) – pas de versionning, pas de compression, pas de chiffrement, pas de déduplication, pas d'automatisation, pas de copie distante : rsync n'est pas (plus) pertinent pour le sauvegarde ! -> À SUPPRIMER krodelabestiole |
|---|
| {{tag>sauvegarde tutoriel VÉTUSTE}} | {{tag>sauvegarde tutoriel VÉTUSTE À_SUPPRIMER}} |
| |
| ====== Sauvegarder "/home" avec rsync ====== | ====== Sauvegarder "/home" avec rsync ====== |
| | ===== Introduction ===== |
| | |
| <note tip>De façon standard, les données personnelles sont stockées dans le répertoire **home**. d'où le titre du document. Cependant, certains utilisateurs peuvent choisir de les stocker ailleurs. Utiliser rsync pour dupliquer rapidement, à l'identique les données sauvegardées dans un NAS n'est pas superflu. Le logiciel du [[https://forum.ubuntu-fr.org/viewtopic.php?id=2079381|NAS]] peut très bien dysfonctionner suite à un événement [[https://forum.ubuntu-fr.org/viewtopic.php?id=2078226|imprévu]] et rendre impossible l'accès aux données.</note> | <note tip>De façon standard, les données personnelles sont stockées dans le répertoire **home**. d'où le titre du document. Cependant, certains utilisateurs peuvent choisir de les stocker ailleurs. Utiliser rsync pour dupliquer rapidement, à l'identique les données sauvegardées dans un NAS n'est pas superflu. Le logiciel du [[https://forum.ubuntu-fr.org/viewtopic.php?id=2079381|NAS]] peut très bien dysfonctionner suite à un événement [[https://forum.ubuntu-fr.org/viewtopic.php?id=2078226|imprévu]] et rendre impossible l'accès aux données.</note> |
| <note warning>Cette documentation propose une utilisation simple de [[:rsync]] afin de créer une copie du répertoire ''/home''. | <note warning>Cette documentation propose une utilisation simple de **[[:rsync]]** afin de créer une copie du répertoire ''/home''. |
| En plus d'être relativement complexe, cela reste une technique un peu triviale, puisque chaque sauvegarde écrase la précédente. | En plus d'être relativement complexe, cela reste une technique un peu triviale, puisque chaque sauvegarde écrase la précédente. |
| |
| Pour gérer ses sauvegardes avec [[:rsync]] (qui reste un outil puissant et fiable) mieux vaut généralement utiliser [[:rsnapshot]]. En plus d'être beaucoup plus simple à mettre en place que les techniques documentées ici, il gère les sauvegardes de manière incrémentielle, et permet à la fois de conserver différentes versions d'un fichier (il n'écrase pas les anciennes versions), et d'éviter la duplication physique des fichiers inchangés (au moyen d'un emploi intelligent des [[:lien_physique_et_symbolique|liens physiques]]).</note> | Pour gérer ses sauvegardes avec [[:rsync]] (qui reste un outil fiable) mieux vaut généralement utiliser **[[:rsnapshot]]**. En plus d'être beaucoup plus simple à mettre en place que les techniques documentées ici, il gère les sauvegardes de manière incrémentielle, et permet à la fois de conserver différentes versions d'un fichier (il n'écrase pas les anciennes versions), et d'éviter la duplication physique des fichiers inchangés (au moyen d'un emploi intelligent des [[:lien_physique_et_symbolique|liens physiques]]). |
| | |
| | Aujourd'hui il existe des outils tout aussi fiables mais beaucoup plus complets et performants pour sauvegarder ses données. Voir la page //[[:Sauvegarde]]// et en particulier l'application **[[:restic]]** pour une sauvegarde gérée en ligne de commande et en service [[:systemd]] (qui coche toutes les qualités de la méthode ici présente, et bien d'autres avantages supplémentaires), et stockée absolument n'importe où !</note> |
| |
| Si vous, ou un de vos agents, êtes capturés en mission, le Département d’État nierait... | Si vous, ou un de vos agents, êtes capturés en mission, le Département d’État nierait... |
| Allez hop, c'est parti !! | Allez hop, c'est parti !! |
| |
| <note tip>Si vous voulez utiliser rsync avec une interface graphique, voir la documentation [[:tutoriel/sauvegarder_home_avec_grsync|Sauvegarder "home" avec grsync]]</note> | |
| ==== Présentation de rsync ==== | ==== Présentation de rsync ==== |
| |
| Voici donc un tutoriel pour vous éviter de vous auto-traiter de toutes les injures possibles si un jour, malheureusement, vous crashez votre disque dur. | Voici donc un tutoriel pour vous éviter de vous auto-traiter de toutes les injures possibles si un jour, malheureusement, vous crashez votre disque dur. |
| |
| Le programme **rsync** fonctionne en ligne de commande. Une interface graphique existe, **[[:tutoriel:sauvegarder_home_avec_grsync|Grsync]]**, mais elle n'offre pas les mêmes possibilités. | Le programme **rsync** fonctionne en ligne de commande. Une interface graphique existe, **[[:Grsync]]**, mais elle n'offre pas les mêmes possibilités. |
| On peut dire que rsync convient tout à fait pour obtenir une sauvegarde intégrale de son "Home" que l'on peut lancer lorsqu'on le désire, et que l'on peut aussi automatiser. | On peut dire que rsync convient tout à fait pour obtenir une sauvegarde intégrale de son "Home" que l'on peut lancer lorsqu'on le désire, et que l'on peut aussi automatiser. |
| |
| </note> | </note> |
| |
| <note important>Pour réaliser une sauvegarde sans erreur vers une partition de sauvegarde formatée en ext3 ou ext4, il faut être propriétaire de cette partition. Voir la note intitulée "Les problèmes de droits ou de permissions (disques de sauvegarde partitionnés en ext3)" sur [[:tutoriel/sauvegarder_home_avec_grsync#problemes_de_droits_ou_de_permissions|cette page]].</note> | <note important>Pour réaliser une sauvegarde sans erreur vers une partition de sauvegarde formatée en ext3 ou ext4, il faut être propriétaire de cette partition.</note> |
| |
| ==== Points de repère pour faire bon usage de ce tutoriel ==== | ==== Points de repère pour faire bon usage de ce tutoriel ==== |
| |
| */home/ : répertoire source | */home/ : répertoire source |
| */media/save_homes/ : répertoire destination | */media/save_homes/ : répertoire destination== |
| |
| | == Propositions diverses == |
| | [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22740679#p22740679|A]] : Avoir la possibilité de synchroniser le Home et différents Dossiers de ce dernier séparément , avoir un retour du déroulement par mail, et ceci en trois clics. |
| | |
| | [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22747080#p22747080|B]] : Sauvegarde des données de tous les utilisateurs managée par les services de [[:systemd|systemd]] au lieu des commandes cron avec alertes à l'écran de l'utilisateur connecté. Conservation des très vieilles données dans une autre partition. Sauvegardes lentes régulières et sauvegardes rapides à l'arrêt machine. |
| | |
| | [[https://forum.ubuntu-fr.org/viewtopic.php?id=2089804|C]] : Sauvegarde de tout un disque déclenchée au branchement d'un disque USB. |
| | |
| | |
| | Les options sont -aPv --delete --exclude= |
| |
| == À vous ! == | == À vous ! == |
| |
| |
| La mise au point de cette méthode se fait en quatre étapes assez simples. Au final, elle permet, d'un seul clic sur un bouton de la barre des tâches, d'arrêter l'ordinateur en faisant précéder cet arrêt d'une sauvegarde de tous les éléments nouveaux ou modifiés sur /home. La solution idéale pour toujours disposer d'une sauvegarde totalement à jour. | La mise au point de cette méthode se fait en quatre étapes assez simples. Au final, elle permet, d'un seul clic sur un bouton de la barre des tâches, d'arrêter l'ordinateur en faisant précéder cet arrêt d'une sauvegarde de tous les éléments nouveaux ou modifiés sur /home. |
| Objectif : disposer d'une sauvegarde à l'identique (avec option %%--del%%) de '/home'... et en plus une sauvegarde en double du bureau (Desktop) et du dossier "Documents", (sans l'option %%--%%del) pour ne pas avoir à regretter de ne disposer que d'une sauvegarde ayant fidèlement effacé des documents qui auraient été effacés par erreur du bureau ou du dossier "Documents". | |
| |
| === 1ère étape : créer le script de sauvegarde. === | Il existe une variante permettant d'utiliser les boutons d'arrêt normal de l'ordinateur **mais** elle ne permet pas d'empêcher l'arrêt de l'ordinateur si la sauvegarde comporte des erreurs!!! |
| |
| | La solution idéale pour toujours disposer d'une sauvegarde totalement à jour. |
| | |
| | Objectif : disposer d'une sauvegarde à l'identique (avec option %%--del%%) de '/home'... et en plus une sauvegarde en double du bureau (Desktop) et du dossier "Documents", (sans l'option %%--%%del) pour ne pas avoir à regretter de ne disposer que d'une sauvegarde ayant fidèlement effacé des documents qui auraient été effacés par erreur du bureau ou du dossier "Documents". |
| | ==== 1ère étape : créer le script de sauvegarde ==== |
| En voici un modèle. À vous de l'adapter selon vos besoins : | En voici un modèle. À vous de l'adapter selon vos besoins : |
| <code> | <code bash>#!/bin/bash |
| #!/bin/bash | |
| # Vérifie la présence du volume : le script effectue la vérification du montage de la partition "Sauve_home" du disque dur externe usb. | # Vérifie la présence du volume : le script effectue la vérification du montage de la partition "Sauve_home" du disque dur externe usb. |
| # Si cette partition est montée, l'autre partition de ce même disque externe (qui sert dans ce script | # Si cette partition est montée, l'autre partition de ce même disque externe (qui sert dans ce script à la sauvegarde du contenu d'une partition fat32), est forcément montée aussi.). |
| # à la sauvegarde du contenu d'une partition fat32), est forcément montée aussi. | |
| if [ ! -e "/media/Sauve_home/" ] | if [ ! -e "/media/Sauve_home/" ] |
| then | then |
| echo "Erreur, le volume de sauvegarde est absent." | echo "Erreur, le volume de sauvegarde est absent." |
| exit | exit |
| | fi |
| | if [ ! "$(mountpoint /media/Sauve_home)" = "/media/Sauve_home est un point de montage" ] |
| | then |
| | echo "Erreur, le volume de sauvegarde n'est pas monté." |
| fi | fi |
| #titre de lancement de la sauvegarde générale | #titre de lancement de la sauvegarde générale |
| | |
| # Sauvegarde du bureau (/home/votre_identité/Desktop) vers la partition ext4 du disque dur externe : | # Sauvegarde du bureau (/home/votre_identité/Desktop) vers la partition ext4 du disque dur externe : |
| rsync -av --stats --filter "- *.iso" /home/votre_identité/Desktop/ /media/Sauve_home/SauvHomeLieuDesktop/ 2>> $backup | rsync -av --stats --filter "- *.iso" /home/votre_identité/Bureau/ /media/Sauve_home/SauvHomeLieuDesktop/ 2>> $backup |
| | |
| # Sauvegarde du dossier 'Documents' (/home/votre_identité/Documents) vers la partition ext4 du disque dur externe : | # Sauvegarde du dossier 'Documents' (/home/votre_identité/Documents) vers la partition ext4 du disque dur externe : |
| date >> $backup | date >> $backup |
| } | } |
| fi | fi</code> |
| | Choix éventuel d'ajouter l'arrêt de l'ordinateur dans le script. |
| # Arrêt de l'ordinateur : | <code bash># Arrêt de l'ordinateur : |
| # Sous LUCID : | # Sous LUCID : |
| dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestShutdown | dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestShutdown |
| # Sous KARMIC : | # Sous KARMIC : |
| #/usr/lib/indicator-session/gtk-logout-helper --shutdown | #/usr/lib/indicator-session/gtk-logout-helper --shutdown |
| | # Sous JAMMY : |
| | systemectl poweroff |
| </code> | </code> |
| |
| </note> | </note> |
| |
| === 2ème étape : créer le lanceur === | ==== 2ème étape : Lancement de la sauvegarde ==== |
| | === Il est possible de fabriquer un lanceur qui contiendra l'arrêt de l'ordinateur. === |
| Ajouter au tableau de bord un "lanceur d'application personnalisé" (clic droit sur celui des tableaux de bord où se trouve l'icône d'arrêt de l'ordinateur)... | Ajouter au tableau de bord un "lanceur d'application personnalisé" (clic droit sur celui des tableaux de bord où se trouve l'icône d'arrêt de l'ordinateur)... |
| Nom du lanceur : "Sauvegarde Générale + Arrêt" | Nom du lanceur : "Sauvegarde Générale + Arrêt" |
| |
| Commande : | Commande : |
| <code>xterm -geometry 170x60 -sb -rightbar -hold -e /home/votre_identité/Documents/Sauvegardes/sauvegarde_generale</code> | <code bash>xterm -geometry 170x60 -sb -rightbar -hold -e /home/votre_identité/Documents/Sauvegardes/sauvegarde_generale</code> |
| //Vous pouvez régler la taille du terminal xterm "-geometry 170x60" en fonction de la taille de votre écran. Pour faire défiler les données avec l'ascenseur : utiliser clic droit/clic gauche.// | //Vous pouvez régler la taille du terminal xterm "-geometry 170x60" en fonction de la taille de votre écran. Pour faire défiler les données avec l'ascenseur : utiliser clic droit/clic gauche.//</code> |
| |
| On peut utiliser une icône semblable à celle d'arrêt de l'ordinateur... et signifiant en même temps la sauvegarde. Il est judicieux de placer l'icône de ce lanceur juste à côté de celle commandant l'arrêt du PC (pour association d'idée). | On peut utiliser une icône semblable à celle d'arrêt de l'ordinateur... et signifiant en même temps la sauvegarde. Il est judicieux de placer l'icône de ce lanceur juste à côté de celle commandant l'arrêt du PC (pour association d'idée). |
| * sans sauvegarde, clic sur l'icône d'arrêt de l'ordinateur :{{tutoriel:stop.png|}}\\ (ce qui permet d'accéder aux autres choix habituels : Redémarrer, Hibernation, etc.) | * sans sauvegarde, clic sur l'icône d'arrêt de l'ordinateur :{{tutoriel:stop.png|}}\\ (ce qui permet d'accéder aux autres choix habituels : Redémarrer, Hibernation, etc.) |
| * avec sauvegarde, clic sur l'icône :{{tutoriel:sauv_and_stop.png|}}\\ (avec dans ce cas obligatoirement l'arrêt de l'ordinateur). | * avec sauvegarde, clic sur l'icône :{{tutoriel:sauv_and_stop.png|}}\\ (avec dans ce cas obligatoirement l'arrêt de l'ordinateur). |
| | === Il est possible de lancer le script pendant l'arrêt standard de l'ordinateur === |
| | Prendre [[:creer_un_service_avec_systemd|connaissance]] du fonctionnement des services de systemd. |
| | |
| | Se mettre administrateur et faire un copier/coller de ces commandes après avoir adapté le nom du script à lancer et la durée d'exécution prévisible. |
| | <code bash> |
| | cat>/etc/systemd/system/Sauvegarde.service<<EOF |
| | [Unit] |
| | Description=Sauvegarde Générale |
| | DefaultDependencies=no |
| | Before=shutdown.target sleep.target |
| | [Service] |
| | Type=oneshot |
| | ExecStart=/Lieu/de/stockage/du/script/de/Sauvegarde |
| | StandardOutput=journal+console |
| | StandardError=journal+console |
| | TimeoutSec=15minutes |
| | #### Durée exécution avant plantage |
| | [Install] |
| | WantedBy=shutdown.target sleep.target |
| | EOF |
| | sleep 1 |
| | systemctl enable Sauvegarde |
| | ###Vérifier qu'il se lance sans erreur |
| | systemctl --no-pager status Sauvegarde;journalctl --no-pager -b -g Sauvegarde</code> |
| | Quitter le mode administrateur. |
| | |
| | |
| |
| |
| </note> | </note> |
| |
| === 4ème étape : créer un script nommé "signalement_erreurs" === | ==== 4ème étape : créer un script nommé "signalement_erreurs" ==== |
| |
| Ce script, lancé au démarrage, affiche le fichier backuperror au démarrage de l'ordinateur si ce fichier backuperror n'est pas vide. | Ce script, lancé au démarrage, affiche le fichier backuperror au démarrage de l'ordinateur si ce fichier backuperror n'est pas vide. |
| |
| N.B. : dans ce script, remplacez si besoin "gedit" par l'éditeur de fichier disponible sur votre version d'Ubuntu, Kubuntu, Xubuntu ou Edubuntu... | N.B. : dans ce script, remplacez si besoin "gedit" par l'éditeur de fichier disponible sur votre version d'Ubuntu, Kubuntu, Xubuntu ou Edubuntu... |
| |
| Pour que ce script soit lancé au démarrage : | |
| **Système->Préférences->Sessions->Onglet "Programmes au démarrage"->Ajouter->Parcourir (pour indiquer le chemin du script "signalement_erreurs")->Valider** | |
| |
| Alors, la sauvegarde se fait juste avant l'arrêt de l'ordinateur. Au démarrage : RAS s'il n'y a eu aucune erreur lors de la sauvegarde... | Alors, la sauvegarde se fait juste avant l'arrêt de l'ordinateur. Au démarrage : RAS s'il n'y a eu aucune erreur lors de la sauvegarde... |
| ... mais s'il y a eu la moindre erreur lors de la sauvegarde, le fichier "backuperror" est ouvert par gedit (ou autre éditeur de fichier). | ... mais s'il y a eu la moindre erreur lors de la sauvegarde, le fichier "backuperror" est ouvert par gedit (ou autre éditeur de fichier). |
| | Pour que ce script soit lancé au démarrage, deux possibilités : |
| | |
| | **Soit ajout classique.** |
| | |
| | **Système->Préférences->Sessions->Onglet "Programmes au démarrage"->Ajouter->Parcourir (pour indiquer le chemin du script "signalement_erreurs")->Valider** |
| | |
| | **Soit ajout d'un service** reprenant le script. |
| | <code bash> |
| | cat>$HOME/.config/systemd/user/Gedit.service<<EOF |
| | [Unit] |
| | Description=Lancer gedit |
| | [Service] |
| | Type=oneshot |
| | ExecStartPre=sleep 30 |
| | #### Afin de permettre à la partie graphique de finir de s'initialiser. 10 secondes sont probablement suffisantes. |
| | ExecStart=/home/%u/signalement_erreurs |
| | ExecStartPost=systemct --user stop Gedit |
| | [Install] |
| | WantedBy=default.target |
| | EOF |
| | systemctl --user enable Gedit</code> |
| | |
| | |
| | |
| |
| |
| |
| Si vous obtenez le message "Sauvegardes réussies", cela signifie que le processus s'est déroulé sans erreur. Lors des premières utilisations de votre script, vérifiez cependant la qualité de vos sauvegardes en effectuant les tests qui conviennent. | Si vous obtenez le message "Sauvegardes réussies", cela signifie que le processus s'est déroulé sans erreur. Lors des premières utilisations de votre script, vérifiez cependant la qualité de vos sauvegardes en effectuant les tests qui conviennent. |
| | |
| | <note>Dans un contexte, d'arrêt automatique, il faut enlever les options [[https://forum.ubuntu-fr.org/viewtopic.php?id=571231|quiet splash ]] du grub pour pouvoir visualiser le message.(non testé)</note> |
| |
| |
| * **[[http://www.delafond.org/traducmanfr/man/man1/rsync.1.html | Manuel de rsync en français]]** | * **[[http://www.delafond.org/traducmanfr/man/man1/rsync.1.html | Manuel de rsync en français]]** |
| * **[[http://man.developpez.com/man1/rsync.1.php|Manuel rsync en français sur le site du "Club des développeurs"]]** | * **[[http://man.developpez.com/man1/rsync.1.php|Manuel rsync en français sur le site du "Club des développeurs"]]** |
| * **[[:tutoriel:sauvegarder_home_avec_grsync|Sauvegarder home avec Grsync]]** | |
| * **[[https://forum.ubuntu-fr.org/viewtopic.php?id=82232|Fil de discussion du forum associé à cette page de la documentation]]** | * **[[https://forum.ubuntu-fr.org/viewtopic.php?id=82232|Fil de discussion du forum associé à cette page de la documentation]]** |
| * Tutoriel [[:tutoriel:sauvegarder_home|Comment sauvegarder son dossier utilisateur]] | * Tutoriel [[:tutoriel:sauvegarder_home|Comment sauvegarder son dossier utilisateur]] |