Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:sauvegarder_home_avec_rsync [Le 02/02/2024, 13:03]
geole [Sauvegarde utilisant une fois l'espace disque émetteur augmenté de la taille cumulée des modifications]
tutoriel:sauvegarder_home_avec_rsync [Le 24/03/2024, 18:35] (Version actuelle)
geole [Plusieurs exemples de lignes de commande pour la sauvegarde de /home/]
Ligne 2: Ligne 2:
  
 ====== 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''​.
Ligne 148: Ligne 150:
  
   */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.
 +
 +
 +Les options sont -aPv --delete --exclude=
  
 == À vous ! == == À vous ! ==
Ligne 389: Ligne 398:
  
  
-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
Ligne 427: Ligne 441:
   ​   ​
 # 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 :
Ligne 438: Ligne 452:
   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
Ligne 449: Ligne 463:
 # 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>​
  
Ligne 467: Ligne 483:
 </​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).
Ligne 481: Ligne 497:
   * 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.
 +
 +
  
  
Ligne 523: Ligne 566:
 </​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.
Ligne 545: Ligne 588:
  
 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>​
 +
 +
 +
  
  
Ligne 574: Ligne 638:
  
 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>​
  
  
  • tutoriel/sauvegarder_home_avec_rsync.1706875437.txt.gz
  • Dernière modification: Le 02/02/2024, 13:03
  • par geole