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 23:03]
Philou92 [Utilisation]
utilisateurs:philou92:tutos:sauvegarde-systeme-leger [04/07/2017 21:33]
Philou92 [Mise en place du système de sauvegarde]
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 29: Ligne 42:
 L'​installation des deux paquets suivants est facultative : 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>​+<​note>​j'​ai noté dans les scripts les parties peuvent-être ajoutées ou supprimées selon la convenance ​encadrés par des lignes #​----------#​ en haut et en bas</​note>​
  
 __**l'​outil debconf-utils**__ ​ __**l'​outil debconf-utils**__ ​
Ligne 52: Ligne 65:
  
 ===== Mise en place du système de sauvegarde ===== ===== 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 ==== ==== 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 monté. ​
 +Taper la commande suivante :
 +<code root>​mount</​code>​
 +Normalement vous devriez trouver une ligne du genre :
 +<code config retour de la commande>/​dev/​sdb1 on /​media/<​USER>/​Sauvegarde</​code> ​
 +
 +Si ce n'est pas le cas taper la commande :
 +<code root>​fdisk -l</​code>​
 +repérer le répertoire en /dev/sdbx de votre disque de sauvegarde restauration.
 +
 +Supposons qu'il s'​appelle /dev/sdb1.
 +Monter le disque avec
 +<code root>​mount /dev/sdb1 /​mnt/​sauvegarde</​code>​
 +
 +Dans les deux cas placez-vous à la racine du disque :
 +<code root>cd /​media/<​USER>/​Sauvegarde</​code>​
 +ou
 +<code root>cd /​mnt/​sauvegarde</​code>​
 +
 +Créer les répertoires suivants :
 +<code root>​mkdir backuphome
 +mkdir .backuphome
 +mkdir BANK1
 +mkdir BANK2</​code>​
 +
 +
 +
 +
 +
 +
 +Créer les répertoires suivant sur le disque dur.
 +<code root>​Insérer le code root</​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 85: Ligne 137:
 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>​
  
  
Ligne 94: Ligne 147:
  
  
-=== Création d'un groupe utilisateurs "​sauvegarde"​ ===+==== Création d'un groupe utilisateurs "​sauvegarde" ​====
 Ce groupe va permettre à des utilisateurs de confiance (vous à priori) à déclencher une sauvegarde ponctuelle. Ce groupe va permettre à des utilisateurs de confiance (vous à priori) à déclencher une sauvegarde ponctuelle.
-créer ​le groupe sauvegarde + 
-addgroup sauvegarde +Créer ​le groupe sauvegarde 
-Ajout du groupe « sauvegarde » (GID 1003)... + 
-Fait.+<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"​. +Ajouter ​un ou plusieurs <​USER>​ habilité(s) à déclencher une sauvegarde ponctuelle au groupe "​sauvegarde"​. 
-adduser <USER> sauvegarde +<code root>adduser <USER1> sauvegarde</​code>​ 
-Ajout de l'​utilisateur « <USER> » au groupe « sauvegarde »... +<code config retour de la commande>​Ajout de l'​utilisateur « <USER1> » au groupe « sauvegarde »... 
-Ajout de l'​utilisateur <USER> au groupe sauvegarde +Ajout de l'​utilisateur <USER1> au groupe sauvegarde 
-Fait.+Fait.</​code>​
  
--Créer le répertoire /​usr/​local/​sauvegarde/​ +Créer le répertoire /​usr/​local/​sauvegarde/​ 
-cd /usr/local+<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 148: Ligne 218:
 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 164: Ligne 234:
  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 186: Ligne 255:
 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+ #---section facultative. 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='​**' ​
  touch $LASTDATE  touch $LASTDATE
Ligne 203: Ligne 273:
  exit   exit 
 fi fi
-#exit 0 
- 
  
 # Variables d'​environnement # Variables d'​environnement
Ligne 217: Ligne 285:
 E_REPABSENT=65 E_REPABSENT=65
 E_POINTEURABSENT=66 E_POINTEURABSENT=66
- 
-echo $DESTINATION 
  
 # test 1 # test 1
Ligne 260: Ligne 326:
  
 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 278: Ligne 352:
 - /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 316: Ligne 387:
 + /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 342: Ligne 412:
 - /initrd.img - /initrd.img
 - /vmlinuz - /vmlinuz
-- /home/virtualdebian/.cache +- /home/<​USER1>​/.cache 
-- /home/test/.cache+- /home/<​USER2>​/.cache
  
  
Ligne 354: Ligne 424:
 - ** - **
  
-*********+</​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 376: Ligne 450:
  
 [[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]] [[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]]
 +
 +La référence debian : [[https://​www.debian.org/​doc/​manuals/​debian-reference/​ch10.fr.html#​_backup_and_recovery]]
  
 Le tuto encfs de ubuntu : Le tuto encfs de ubuntu :
  
 [[https://​doc.ubuntu-fr.org/​encfs]] [[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