logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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
Prochaine révision Les deux révisions suivantes
utilisateurs:philou92:tutos:sauvegarde-systeme-leger [03/07/2017 22:58]
Philou92 [Utilisation]
utilisateurs:philou92:tutos:sauvegarde-systeme-leger [04/07/2017 22:51]
Philou92 [Mes sources d'inspiration]
Ligne 9: Ligne 9:
 Ce tuto donne une méthode pour sauvegarder son système d'​exploitation debian et le répertoire /home Ce tuto donne une méthode pour sauvegarder son système d'​exploitation debian et le répertoire /home
  
-Motivation principale de ce tuto :+__**Motivation principale de ce tuto :**__ 
 Hormis la sauvegarde du répertoire /home sur lequel on trouve pléthore d'​excellentes solutions sur le net, ce tuto essaye d'​apporter une façon de sauvegarder le système de façon légère et rapide. Légère en taille d'​enregistrement en ne gardant que les fichiers utiles et rapide en ne sauvegardant que ce qui a changé entre deux sauvegardes. Hormis la sauvegarde du répertoire /home sur lequel on trouve pléthore d'​excellentes solutions sur le net, ce tuto essaye d'​apporter une façon de sauvegarder le système de façon légère et rapide. Légère en taille d'​enregistrement en ne gardant que les fichiers utiles et rapide en ne sauvegardant que ce qui a changé entre deux sauvegardes.
 +
 Le système est sauvegardé alternativement dans deux conteneurs BANK1 et BANK2. dans le cas ou une sauvegarde serait corrompue la deuxième sert de roue de secours. Le système est sauvegardé alternativement dans deux conteneurs BANK1 et BANK2. dans le cas ou une sauvegarde serait corrompue la deuxième sert de roue de secours.
-Pour le répertoire /home j'ai opté pour une sauvegarde incrémentale qui garde l'​historique des fichiers modifiés ou supprimés. En cas de besoin il sera possible de revenir ​en chercher des fichiers à la demande des utilisateurs du PC.+ 
 +Pour le répertoire /home j'ai opté pour une sauvegarde incrémentale qui garde l'​historique des fichiers modifiés ou supprimés. En cas de besoin il sera possible de revenir chercher des fichiers ​perdus ​à la demande des utilisateurs ​du PC. 
 + 
 +Par défaut les sauvegardes sont programmées à intervalle minimale de 7 jours. Les utilisateurs du groupe "​sauvegarde"​ pourront à tous moment déclencher ponctuellement une demande de sauvegarde. 
 + 
 +Les sauvegardes ont lieu à l'​arrêt ​du PC.
  
 Bien sûre une sauvegarde sans méthode de restauration n'a aucun intérêt. C'est l'​objet du deuxième tuto : lien FIXME. Bien sûre une sauvegarde sans méthode de restauration n'a aucun intérêt. C'est l'​objet du deuxième tuto : lien FIXME.
Ligne 18: Ligne 25:
 <note important>​Prérequis systeme : Votre systeme d'​initialisation est **systemd**. <note important>​Prérequis systeme : Votre systeme d'​initialisation est **systemd**.
  
-Prérequis Matériel : Vous aurez besoin d'un support de sauvegarde __dédié__. Personnellement j'ai fais le choix d'un Disque dur USB du commerce. Dans ce que va suivre je pars du principe que c'est ce type de support qui est utilisé.</​note>​+Prérequis Matériel : Vous aurez besoin d'un support de sauvegarde __dédié__. Personnellement j'ai fais le choix d'un Disque dur USB du commerce. ​ 
 + 
 +Le Disque dur est formaté dans un format équivalent à votre système (exemple ext4).  
 + 
 +Si besoin voir la commande mkfs [[https://​debian-facile.org/​doc:​systeme:​mkfs?​s[]=ext4]]. 
 + 
 +Dans ce que va suivre je pars du principe que c'est ce type de support qui est utilisé.</​note>​
  
 Maintenant en avant toute... Maintenant en avant toute...
Ligne 27: Ligne 40:
  
 ===== Installation ===== ===== Installation =====
-L'​installation des deux paquets suivants est facultative : 
- 
-<​note>​j'​ai noté dans les scripts les parties peuvent-être ajoutées ou supprimées selon la convenance</​note>​ 
  
 __**l'​outil debconf-utils**__ ​ __**l'​outil debconf-utils**__ ​
Ligne 51: Ligne 61:
  
  
-===== Utilisation ​=====+===== Mise en place du système de sauvegarde ​===== 
 +Créer le répertoire sauvegarde sur /mnt qui servira de point de montage : 
 +<code root>cd /mnt 
 +mkdir sauvegarde</​code>​ 
 + 
 +==== Préparation du disque dur ==== 
 +Brancher votre disque dur externe.
  
 Récupérer l'UUID du disque de sauvegarde : Récupérer l'UUID du disque de sauvegarde :
-blkid+<code root>blkid</​code>​
  
-repérez ​votre disque comme ici : +Repérez ​votre disque comme ici (Note Sauvegarde c'est le petit nom que j'ai donné à mon disque) 
-LABEL="​Sauvegarde"​ UUID="8486c62b-ad6f-4966-990e-822f729a01c3"​ TYPE="​ext4"​ PARTUUID="​f239042f-01"​+<code config retour de la commande>​LABEL="​Sauvegarde"​ UUID="8498c62b-ad6f-4966-990e-822f729a01c3"​ TYPE="​ext4"​ PARTUUID="​f239042f-01"​</​code>​
  
-editez ​votre fichier /etc/fstab avec votre éditeur favori (nano, vim) et ajoutez la ligne suivante +Éditez ​votre fichier /etc/fstab avec votre éditeur favori (nano, vim) et ajoutez la ligne suivante 
-#UUID=8486c62b-ad6f-4966-990e-822f729a01c3 /​mnt/​sauvegarde ​ ext4  defaults,​nofail +<file bash extrait/​etc/​fstab>​ 
-    ​,​noauto ​   0     ​+#UUID=8498c62b-ad6f-4966-990e-822f729a01c3 /​mnt/​sauvegarde ​ ext4  defaults,​nofail,​noauto ​   0   
 +</​file> ​  
  
-La ligne est pour l'​instant commentée+La ligne est pour l'​instant commentée ​(On enlèvera le "#"​ à la fin dès que l'on sera assuré que tout est OK). 
  
 +Vérifier à l'aide de la commande suivante si votre disque est déjà monté. ​
 +Taper la commande suivante :
 +<code root>​mount</​code>​
 +Si vous trouvez une ligne du genre :
 +<code config retour de la commande>/​dev/​sdb1 on /​media/<​USER>/​Sauvegarde</​code> ​
 +Si c'est le cas démontez le ( voir [[https://​debian-facile.org/​doc:​systeme:​umount]])
 +
 +Montage du disque dur dans le répertoire /​mnt/​sauvegarde :
 +<code root>​fdisk -l</​code>​
 +repérer le répertoire en /dev/sdbx de votre disque dur externe.
 +
 +Supposons qu'il s'​appelle /dev/sdb1.
 +Monter le disque avec
 +<code root>​mount /dev/sdb1 /​mnt/​sauvegarde</​code>​
 +
 +Placez-vous à la racine du disque :
 +<code root>cd /​mnt/​sauvegarde</​code>​
 +
 +Créer les répertoires suivants :
 +
 +<code root>​mkdir BANK1
 +mkdir BANK2</​code>​
 +
 +Taper la commande :
 +<code root>​encfs /​mnt/​sauvegarde/​.backuphome /​mnt/​sauvegarde/​backuphome</​code>​
 +Créer les répertoires automatiquement et appliquer le mode normal (mode qui conserve les liens durs)
 +
 +Répondre **y** puis **y** puis **entrée**
 +
 +A la demande entrer votre "​Monmotdepassesupersecret"​
 +
 +Créer le répertoire "​Actuel"​ dans backuphome et ajoutez le fichier .superpointeur.txt :
 +<code root>cd backuphome
 +mkdir Actuel
 +cd Actuel
 +touch .superpointeur.txt</​code>​
 +
 +Démonter le répertoire chiffré :
 +<code root>​fusermount -u /​mnt/​sauvegarde/​backuphome</​code>​
 +
 +Démonter le disque dur
 +<code root>cd /
 +umount /​mnt/​sauvegarde</​code>​
 +
 +
 +==== Création du service de sauvegarde ====
  
  
 Créer le fichier suivant : sauvegarde.service dans le répertoire /​etc/​systemd/​system/​ Créer le fichier suivant : sauvegarde.service dans le répertoire /​etc/​systemd/​system/​
  
 +<file config service.sauvegarde>​
 [Unit] [Unit]
-Description=backupbidule+Description=Sauvegarde systeme et home
 Before=shutdown.target reboot.target halt.target Before=shutdown.target reboot.target halt.target
  
Ligne 82: Ligne 146:
 WantedBy=multi-user.target WantedBy=multi-user.target
  
- +</​file>​ 
-systemctl daemon-reload+Puis démarrer le service en saisissant les commandes suivantes : 
 +<code root>systemctl daemon-reload
 systemctl enable sauvegarde.service systemctl enable sauvegarde.service
-systemctl start sauvegarde.service+systemctl start sauvegarde.service</​code>​
  
  
-créer le groupe sauvegarde 
-addgroup sauvegarde 
-Ajout du groupe « sauvegarde » (GID 1003)... 
-Fait. 
  
--ajouter un ou plusieurs <​USER>​ habilité(s) à déclencher une sauvegarde ponctuelle au groupe "​sauvegarde"​. 
-adduser <​USER>​ sauvegarde 
-Ajout de l'​utilisateur « <​USER>​ » au groupe « sauvegarde »... 
-Ajout de l'​utilisateur <​USER>​ au groupe sauvegarde 
-Fait. 
  
--Créer le répertoire /​usr/​local/​sauvegarde/​ + 
-cd /usr/local+==== Création d'un groupe utilisateurs "​sauvegarde"​ ==== 
 +Ce groupe va permettre à des utilisateurs de confiance (vous à priori) à déclencher une sauvegarde ponctuelle. 
 + 
 +Créer le groupe sauvegarde 
 + 
 +<code root>​addgroup sauvegarde</​code>​ 
 +<code config retour de la commande>​Ajout du groupe « sauvegarde » (GID 1003)... 
 +Fait.</​code>​ 
 + 
 + 
 +Ajouter un ou plusieurs <​USER>​ habilité(s) à déclencher une sauvegarde ponctuelle au groupe "​sauvegarde"​. 
 +<code root>​adduser <​USER1>​ sauvegarde</​code>​ 
 +<code config retour de la commande>​Ajout de l'​utilisateur « <​USER1>​ » au groupe « sauvegarde »... 
 +Ajout de l'​utilisateur <​USER1>​ au groupe sauvegarde 
 +Fait.</​code>​ 
 + 
 +Créer le répertoire /​usr/​local/​sauvegarde/​ 
 +<code root>cd /usr/local
 mkdir sauvegarde mkdir sauvegarde
--A l'​intérieur faire un  +cd sauvegarde</​code>​ 
-touch rsync-backup-user.date +A l'​intérieur ​du répertoire ​faire un  
-touch rsync-backup-user.sh ​avec les droits d'​exécution pour root uniquement et ajouter ​le script suivant :+<code root>touch rsync-backup-user.date 
 +touch rsync-backup-user.sh</​code>​ 
 + 
 +Ajouter ​le script suivant ​au fichier rsync-backup-user.sh avec votre éditeur préféré ​: 
 + 
 +<file bash rsync-backup-user.sh>​
 #! /bin/sh #! /bin/sh
 touch /​usr/​local/​sauvegarde/​rsync-backup-user.date touch /​usr/​local/​sauvegarde/​rsync-backup-user.date
 exit exit
--ajouter ​les deux fichier au groupe sauvegarde +</​file>​ 
-chgrp sauvegarde rsync-backup-user.date + 
-chgrp sauvegarde rsync-backup-user.sh + 
--modifiez ​les droits des deux fichiers comme suit: +Ajouter ​les deux fichier au groupe sauvegarde 
-chmod 750 rsync-backup-user.sh +<code root>chgrp sauvegarde rsync-backup-user.date 
-chmod 660 rsync-backup-user.date +chgrp sauvegarde rsync-backup-user.sh</​code>​ 
-- vérifiez ​les droits : +Modifiez ​les droits des deux fichiers comme suit: 
-ls -al +<code root>chmod 750 rsync-backup-user.sh 
-drwxr-sr-x ​ 2 root staff      4096 juin  29 22:05 .+chmod 660 rsync-backup-user.date</​code>​ 
 +Vérifiez ​les droits : 
 +<code root>ls -al</​code>​ 
 +<code config retour de la commande>​drwxr-sr-x ​ 2 root staff      4096 juin  29 22:05 .
 drwxrwsr-x 11 root staff      4096 juin  29 22:03 .. drwxrwsr-x 11 root staff      4096 juin  29 22:03 ..
 -rw-rw---- ​ 1 root sauvegarde ​   0 juin  29 22:03 rsync-backup-user.date -rw-rw---- ​ 1 root sauvegarde ​   0 juin  29 22:03 rsync-backup-user.date
 -rwxr-x--- ​ 1 root sauvegarde ​  68 juin  29 22:05 rsync-backup-user.sh -rwxr-x--- ​ 1 root sauvegarde ​  68 juin  29 22:05 rsync-backup-user.sh
 +</​code>​
  
-**************************************+==== Le script de sauvegarde ==== 
 +Créer le répertoire /​root/​backup/​ 
 +<code root>cd /root 
 +mkdir backup 
 +cd backup</​code>​
  
-créer le répertoire /​root/​backup/​ +A l'​intérieur ​créer les trois fichiers suivants : 
-A l'​intérieur +<code root>touch rsync-backup.log 
-Faire un touch rsync-backup.log +touch rsync-backup.date 
-Faire un touch rsync-backup.date+touch rsync-backup.sh</​code>​
  
-créer ​le fichier rsync-backup.sh avec les droits ​d'exécution pour root uniquement et ajouter le script suivant: +<​note>​Comme son extension le souligne, ​le fichier rsync-backup.log enregistre ​les événements ​d'erreur ou de réussite de la sauvegarde.</​note>​
-(modifier la ligne 27 avec l'​UUID ​de votre disque)+
  
 +Editer le fichier rsync-backup.sh et ajouter le script suivant:
 +<​note>​(modifier la ligne 24 avec l'UUID de votre disque)</​note>​
 +
 +<file bash rsync-backup.sh>​
 #! /bin/sh #! /bin/sh
-nom_hote=`hostname` 
 SOURCE="/"​ SOURCE="/"​
 MONTAGE="/​mnt/​sauvegarde"​ MONTAGE="/​mnt/​sauvegarde"​
Ligne 139: Ligne 227:
 BANKSTATUS="/​mnt/​sauvegarde/​BANK.status"​ BANKSTATUS="/​mnt/​sauvegarde/​BANK.status"​
 JOURNAL="/​root/​backup/​rsync-backup.log"​ JOURNAL="/​root/​backup/​rsync-backup.log"​
-LASTDATE="/​root/​backup/​rsync-backup.date"​i+LASTDATE="/​root/​backup/​rsync-backup.date"​
 NBJOUR=$((($(date -u +%s) - $(date -ur $LASTDATE ​ +%s))/​86400)) NBJOUR=$((($(date -u +%s) - $(date -ur $LASTDATE ​ +%s))/​86400))
 APPELUSER="/​usr/​local/​sauvegarde/​rsync-backup-user.date"​ APPELUSER="/​usr/​local/​sauvegarde/​rsync-backup-user.date"​
 NBJOURUSER=$((($(date -u +%s) - $(date -ur $APPELUSER +%s))/​86400)) NBJOURUSER=$((($(date -u +%s) - $(date -ur $APPELUSER +%s))/​86400))
  
 +# test si la date d'​échéance est arrivée
 if [ $NBJOUR -lt 7 ];  if [ $NBJOUR -lt 7 ]; 
 then then
Ligne 155: Ligne 243:
  fi  fi
 fi fi
- +Essaye de monter le disque dur et recherche dans quel conteneur enregistrer la sauvegarde 
-#rsync_backup_conf='/​root/​backup/​rsync-backup.conf'​ +mount UUID=8498c62b-ad6f-4966-990e-822f729a01c3 $MONTAGE
-mount UUID=8486c62b-ad6f-4966-990e-822f729a01c3 $MONTAGE+
 if [ -f $BANKSTATUS ]; then if [ -f $BANKSTATUS ]; then
  echo "​`date` Montage disque OK" >> $JOURNAL  echo "​`date` Montage disque OK" >> $JOURNAL
Ligne 177: Ligne 264:
 fi fi
  
 +# Sauvegarde du système
 if [ -d $DESTINATION ] ; if [ -d $DESTINATION ] ;
 then then
  rsync_backup_include='/​root/​backup/​rsync-backup-include'​  rsync_backup_include='/​root/​backup/​rsync-backup-include'​
- dpkg --get-selections > $DESTINATION/​dpkg-selections.list + dpkg --get-selections ​"​*" ​> $DESTINATION/​dpkg-selections.list
- # nécéssite l'​installation du paquet debconf-utils+
  debconf-get-selections > $DESTINATION/​debconf-selections  debconf-get-selections > $DESTINATION/​debconf-selections
  /​usr/​bin/​rsync -av --delete-after $SOURCE $DESTINATION --exclude-from=$rsync_backup_include --exclude='​**' ​  /​usr/​bin/​rsync -av --delete-after $SOURCE $DESTINATION --exclude-from=$rsync_backup_include --exclude='​**' ​
Ligne 194: Ligne 280:
  exit   exit 
 fi fi
-#exit 0 
- 
  
 # Variables d'​environnement # Variables d'​environnement
Ligne 208: Ligne 292:
 E_REPABSENT=65 E_REPABSENT=65
 E_POINTEURABSENT=66 E_POINTEURABSENT=66
- 
-echo $DESTINATION 
  
 # test 1 # test 1
Ligne 251: Ligne 333:
  
 exit 0 exit 0
 +</​file>​
  
-**************+Modifier les droits du fichier rsync-backup.sh 
 +<code root>​chmod 700 rsync-backup.sh</​code>​
  
-faire un touch rsync-backup-include et ajouter les lignes suivantes :+==== Fichiers de configuration ​rsync ====
  
 +faire un 
 +<code root>​touch rsync-backup-include</​code> ​
 +
 +et ajouter les lignes suivantes :
 +
 +<file config rsync-backup-include>​
 # La commande rsync utilisée inclue / (root) et exclue tout. Cela ne sauvegarde rien. Le fichier rsync-backup-include permet d'​inclure ce que l'on veur sauvegarder. # La commande rsync utilisée inclue / (root) et exclue tout. Cela ne sauvegarde rien. Le fichier rsync-backup-include permet d'​inclure ce que l'on veur sauvegarder.
 # (note : pour plus d'​information voir la page de manuel de rsync dans les sections : FILTER RULES, INCLUDE/​EXCLUDE PATTTERN RULES, MERGE-FILE FILTviER RULES) # (note : pour plus d'​information voir la page de manuel de rsync dans les sections : FILTER RULES, INCLUDE/​EXCLUDE PATTTERN RULES, MERGE-FILE FILTviER RULES)
Ligne 269: Ligne 359:
 - /initrd.img - /initrd.img
 - /vmlinuz - /vmlinuz
-- /​home/​virtualdebian/​.cache 
-- /​home/​test/​.cache 
- 
  
 # sauvegarder le contenu du dossier /etc # sauvegarder le contenu du dossier /etc
Ligne 307: Ligne 394:
 + /root/ + /root/
 + /root/** + /root/**
- 
-# sauvegarder le contenu de /home 
-+ /home/ 
-+ /home/** 
- 
  
 # exclure tout (comme ça on est sûr) # exclure tout (comme ça on est sûr)
 - ** - **
  
-*****************+</​file>​
  
-faire un touch rsync-backup-include2 et ajouter les lignes suivantes : 
  
 +faire un :
 +<code root>​touch rsync-backup-include2</​code>​
 +et ajouter les lignes suivantes :
 +
 +<file config rsync-backup-include2>​
 # La commande rsync utilisée inclue / (root) et exclue tout. Cela ne sauvegarde rien. Le fichier rsync-backup-include permet d'​inclure ce que l'on veur sauvegarder. # La commande rsync utilisée inclue / (root) et exclue tout. Cela ne sauvegarde rien. Le fichier rsync-backup-include permet d'​inclure ce que l'on veur sauvegarder.
 # (note : pour plus d'​information voir la page de manuel de rsync dans les sections : FILTER RULES, INCLUDE/​EXCLUDE PATTTERN RULES, MERGE-FILE FILTER RULES) # (note : pour plus d'​information voir la page de manuel de rsync dans les sections : FILTER RULES, INCLUDE/​EXCLUDE PATTTERN RULES, MERGE-FILE FILTER RULES)
Ligne 333: Ligne 419:
 - /initrd.img - /initrd.img
 - /vmlinuz - /vmlinuz
-- /home/virtualdebian/.cache +- /home/<​USER1>​/.cache 
-- /home/test/.cache+- /home/<​USER2>​/.cache
  
  
Ligne 345: Ligne 431:
 - ** - **
  
-*********+</​file>​ 
 Créer un fichier .clefsauvegarde dans le répertoire <​USER>​ de confiance : Créer un fichier .clefsauvegarde dans le répertoire <​USER>​ de confiance :
-/​home/<​USER>/​Documents/​.clefsauvegarde+<code root>​touch ​/​home/<​USER>/​Documents/​.clefsauvegarde</​code>​ 
 + 
 +Editer le fichier et y écrire votre mot de passe super secret : 
 +<code root>​nano /​home/<​USER>/​Documents/​.clefsauvegarde</​code>​ 
 +<​code>​Monmotdepassesupersecret</​code>​
  
 Affecter les droits unique de lecture pour root. Affecter les droits unique de lecture pour root.
-en root +<​code ​root>chmod 400 /​home/<​USER>/​Documents/​.clefsauvegarde</​code>​ 
-chmod 400 /​home/<​USER>/​Documents/​.clefsauvegarde +
-Ajouter le mot de passe en texte à l'​intérieur.+
  
  
Ligne 364: Ligne 454:
 Deux tutos expliquant comment faire une sauvegarde - restauration ​ complète du système (donc lourde) : Deux tutos expliquant comment faire une sauvegarde - restauration ​ complète du système (donc lourde) :
  
-[[https://​wiki.debian-fr.xyz/​Restauration_ou_Reconstruction_de_sa_Debian_-_Racine_et_Home_s%C3%A9par%C3%A9s]]+  * Liste à puce[[https://​wiki.debian-fr.xyz/​Restauration_ou_Reconstruction_de_sa_Debian_-_Racine_et_Home_s%C3%A9par%C3%A9s]]
  
-[[https://​wiki.debian-fr.xyz/​Sauvegarder_sa_Debian_en_vue_d%27une_R%C3%A9installation_ou_Reconstruction_-_Racine_et_Home_s%C3%A9par%C3%A9s]]+  * Liste à puce[[https://​wiki.debian-fr.xyz/​Sauvegarder_sa_Debian_en_vue_d%27une_R%C3%A9installation_ou_Reconstruction_-_Racine_et_Home_s%C3%A9par%C3%A9s]]
  
-Le tuto encfs de ubuntu ​:+La référence debian ​[[https://​www.debian.org/​doc/​manuals/​debian-reference/​ch10.fr.html#​_backup_and_recovery]]
  
-[[https://​doc.ubuntu-fr.org/​encfs]]+Le tuto encfs de ubuntu : [[https://​doc.ubuntu-fr.org/​encfs]]
utilisateurs/philou92/tutos/sauvegarde-systeme-leger.txt · Dernière modification: 01/05/2023 22:43 par Philou92

Pied de page des forums

Propulsé par FluxBB