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 →
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 Prochaine révision Les deux révisions suivantes | ||
utilisateurs:philou92:tutos:sauvegarde-systeme-leger [03/07/2017 23:14] Philou92 [Mise en place du système de sauvegarde] |
utilisateurs:philou92:tutos:sauvegarde-systeme-leger [23/09/2017 22:03] Philou92 [Mise en place du système de sauvegarde] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Titre de Votre Tuto ====== | + | ====== Sauvegarde légère et rapide du système ====== |
* Objet : du tuto Sauvegarde légère et rapide du système FIXME | * Objet : du tuto Sauvegarde légère et rapide du système FIXME | ||
- | * Niveau requis : FIXME {{tag>avisé en-chantier}} | + | * Niveau requis : {{tag>avisé}} |
- | * Commentaires : //Tout est dans le titre. // FIXME | + | * Suivi : {{tag>en-chantier}} |
+ | * Commentaires : //Tout est dans le titre. // | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
+ | * Création :[[https://debian-facile.org/utilisateurs:philou92|philou92]] le 4/07/17 | ||
+ | * Testé par :[[https://debian-facile.org/utilisateurs:philou92|philou92]] le 4/07/17 | ||
+ | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=18405|https://debian-facile.org/viewtopic.php?id=18405]] | ||
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 21: | Ligne 25: | ||
Les sauvegardes ont lieu à l'arrêt du PC. | 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ûr une sauvegarde sans méthode de restauration n'a aucun intérêt. C'est l'objet du deuxième tuto : lien [[utilisateurs:philou92:tutos:restauration-systeme|https://debian-facile.org/utilisateurs:philou92:tutos:restauration-systeme?&#introduction]]. |
<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 fait le choix d'un disque dur USB du commerce. |
+ | |||
+ | Le Disque dur est formaté dans un format équivalent à votre système (exemple ext4) du moins qui conserve les attribut des fichiers Linux. | ||
+ | |||
+ | 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 34: | Ligne 44: | ||
===== 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 59: | Ligne 66: | ||
===== 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 2 |
+ | </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 ci dessous, démontez le disque dur (sans le déconnecter du port USB) ( voir [[https://debian-facile.org/doc:systeme:umount]]) : | ||
+ | <code config retour de la commande>/dev/sdb1 on /media/<USER>/Sauvegarde</code> | ||
+ | |||
+ | |||
+ | 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> | ||
+ | |||
+ | Créer le fichier suivant : | ||
+ | <code root>touch BANK.status</code> | ||
+ | |||
+ | Editez-le et ajouter dedans le texte : | ||
+ | <file config nom> | ||
+ | BANK2 | ||
+ | </file> | ||
+ | |||
+ | Créer les trois fichiers suivants : | ||
+ | <code root>touch restaurestart | ||
+ | chmod 744 restaurestart | ||
+ | touch restaurepaquets | ||
+ | chmod 744 restaurepaquets | ||
+ | touch restauredebian | ||
+ | chmod 744 restauredebian | ||
+ | </code> | ||
+ | |||
+ | Editez les et y ajouter les scripts qui sont là : [[https://debian-facile.org/utilisateurs:philou92:tutos:sauvegarde-systeme-leger?&#scripts-de-restauration-systeme]] | ||
+ | |||
+ | 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" | ||
+ | |||
+ | Ajoutez le fichier .superpointeur.txt et créer le répertoire "Actuel" dans backuphome : | ||
+ | <code root>cd backuphome | ||
+ | touch .superpointeur.txt | ||
+ | mkdir Actuel | ||
+ | </code> | ||
+ | |||
+ | Démonter le répertoire chiffré : | ||
+ | <code root>cd /mnt/sauvegarde | ||
+ | fusermount -u /mnt/sauvegarde/backuphome</code> | ||
==== Création du service de sauvegarde ==== | ==== Création du service de sauvegarde ==== | ||
Ligne 80: | Ligne 151: | ||
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> | + | <file config sauvegarde.service> |
[Unit] | [Unit] | ||
- | Description=backupbidule | + | Description=Sauvegarde systeme et home |
Before=shutdown.target reboot.target halt.target | Before=shutdown.target reboot.target halt.target | ||
Ligne 95: | Ligne 166: | ||
</file> | </file> | ||
- | Puis démarrer le service en saisissant les commandes suivantes : | ||
- | <code root>systemctl daemon-reload | ||
- | systemctl enable sauvegarde.service | ||
- | systemctl start sauvegarde.service</code> | ||
+ | ==== 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> | ||
- | ==== Création d'un groupe utilisateurs "sauvegarde" ==== | + | Ajouter un ou plusieurs <USER> habilité(s) à déclencher une sauvegarde ponctuelle au groupe "sauvegarde". |
- | Ce groupe va permettre à des utilisateurs de confiance (vous à priori) à déclencher une sauvegarde ponctuelle. | + | <code root>adduser <USER1> sauvegarde</code> |
- | créer le groupe sauvegarde | + | <code config retour de la commande>Ajout de l'utilisateur « <USER1> » au groupe « sauvegarde »... |
- | addgroup sauvegarde | + | Ajout de l'utilisateur <USER1> au groupe sauvegarde |
- | Ajout du groupe « sauvegarde » (GID 1003)... | + | Fait.</code> |
- | Fait. | + | |
+ | Créer le répertoire /usr/local/sauvegarde/ | ||
+ | <code root>cd /usr/local | ||
+ | mkdir sauvegarde | ||
+ | cd sauvegarde</code> | ||
+ | A l'intérieur du répertoire faire un | ||
+ | <code root>touch rsync-backup-user.date | ||
+ | touch rsync-backup-user.sh</code> | ||
- | -ajouter un ou plusieurs <USER> habilité(s) à déclencher une sauvegarde ponctuelle au groupe "sauvegarde". | + | Ajouter le script suivant au fichier rsync-backup-user.sh avec votre éditeur préféré : |
- | 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/ | + | <file bash rsync-backup-user.sh> |
- | cd /usr/local | + | |
- | mkdir sauvegarde | + | |
- | -A l'intérieur faire un | + | |
- | touch rsync-backup-user.date | + | |
- | touch rsync-backup-user.sh avec les droits d'exécution pour root uniquement et ajouter le script suivant : | + | |
#! /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 158: | Ligne 238: | ||
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 174: | Ligne 254: | ||
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=8486c62b-ad6f-4966-990e-822f729a01c3 $MONTAGE | + | mount UUID=8498c62b-ad6f-4966-990e-822f729a01c3 $MONTAGE # A modifier avec l'UUID de votre de disque de sauvegarde |
+ | # *** | ||
if [ -f $BANKSTATUS ]; then | if [ -f $BANKSTATUS ]; then | ||
echo "`date` Montage disque OK" >> $JOURNAL | echo "`date` Montage disque OK" >> $JOURNAL | ||
Ligne 196: | Ligne 277: | ||
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 -a --delete-after $SOURCE $DESTINATION --exclude-from=$rsync_backup_include --exclude='**' |
touch $LASTDATE | touch $LASTDATE | ||
echo "`date` Sauvegarde SYTEME OK: sur $DESTINATION" >> $JOURNAL | echo "`date` Sauvegarde SYTEME OK: sur $DESTINATION" >> $JOURNAL | ||
Ligne 213: | Ligne 293: | ||
exit | exit | ||
fi | fi | ||
- | #exit 0 | ||
- | |||
# Variables d'environnement | # Variables d'environnement | ||
Ligne 227: | Ligne 305: | ||
E_REPABSENT=65 | E_REPABSENT=65 | ||
E_POINTEURABSENT=66 | E_POINTEURABSENT=66 | ||
- | |||
- | echo $DESTINATION | ||
# test 1 | # test 1 | ||
Ligne 254: | Ligne 330: | ||
chmod 750 $DESTINATION/backuphome | chmod 750 $DESTINATION/backuphome | ||
#Déchiffrage du répertoire | #Déchiffrage du répertoire | ||
- | cat /home/virtualdebian/Documents/.clefsauvegarde | encfs --stdinpass -v "$DESTINATION/.backuphome" "$DESTINATION/backuphome" | + | #Remplacer <USER> par l'utilisateur de confiance où est stocké le mot de passe |
+ | # *** | ||
+ | cat /home/<USER>/Documents/.clefsauvegarde | encfs --stdinpass -v "$DESTINATION/.backuphome" "$DESTINATION/backuphome" | ||
+ | # *** | ||
# Coffre ouvert la sauvegarde sécurisée va démarrer! | # Coffre ouvert la sauvegarde sécurisée va démarrer! | ||
# crée le répertoire Backup du jour | # crée le répertoire Backup du jour | ||
mkdir -p "$BACKUP" | mkdir -p "$BACKUP" | ||
# crée la sauvegarde | # crée la sauvegarde | ||
- | /usr/bin/rsync -av --delete --exclude-from $LISTEEXCLUSIONS --backup --backup-dir="$BACKUP" "$SOURCE" "$ACTUEL" --exclude='**' | + | /usr/bin/rsync -a --delete --exclude-from $LISTEEXCLUSIONS --backup --backup-dir="$BACKUP" "$SOURCE" "$ACTUEL" --exclude='**' |
# supprime le répertoire backup s'il est vide | # supprime le répertoire backup s'il est vide | ||
rmdir --ignore-fail-on-non-empty "$BACKUP" | rmdir --ignore-fail-on-non-empty "$BACKUP" | ||
Ligne 270: | Ligne 349: | ||
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 288: | Ligne 375: | ||
- /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 326: | Ligne 410: | ||
+ /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 352: | Ligne 435: | ||
- /initrd.img | - /initrd.img | ||
- /vmlinuz | - /vmlinuz | ||
- | - /home/virtualdebian/.cache | + | - /home/<USER1>/.cache |
- | - /home/test/.cache | + | - /home/<USER2>/.cache |
Ligne 364: | Ligne 447: | ||
- ** | - ** | ||
- | ********* | + | </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. | + | |
+ | |||
+ | |||
+ | ===== Premières sauvegardes avant le grand saut ===== | ||
+ | Nous allons forcer les premières sauvegardes qui vont être naturellement de longues durées. | ||
+ | |||
+ | Effectuer les commandes suivantes: | ||
+ | <code root>cd /usr/local/sauvegarde | ||
+ | ./rsync-backup-user.sh | ||
+ | cd /root/backup | ||
+ | ./rsync-backup.sh</code> | ||
+ | |||
+ | Le système est sauvegardé sur la BANK1 et le /home dans le répertoire sécurisé. | ||
+ | |||
+ | Lancer à nouveau les mêmes commandes pour sauvegarder le système dans la BANK2 (comme le /home est déjà fait cela devrait prendre moins de temps). | ||
+ | |||
+ | Démonter le disque dur | ||
+ | <code root>cd / | ||
+ | umount /mnt/sauvegarde</code> | ||
+ | |||
+ | Puis démarrer le service en saisissant les commandes suivantes : | ||
+ | <code root>systemctl daemon-reload | ||
+ | systemctl enable sauvegarde.service | ||
+ | systemctl start sauvegarde.service</code> | ||
+ | |||
+ | Éditez votre fichier /etc/fstab avec votre éditeur favori (nano, vim) supprimez le "#" en début de ligne | ||
+ | <file bash extrait/etc/fstab> | ||
+ | UUID=8498c62b-ad6f-4966-990e-822f729a01c3 /mnt/sauvegarde ext4 defaults,nofail,noauto 0 2 | ||
+ | </file> | ||
+ | |||
+ | Voilà... C'est fini. :-) | ||
+ | ===== Scripts de restauration système ===== | ||
+ | <file bash restaurestart.sh> | ||
+ | #!/bin/bash | ||
+ | # Variables d'environnement | ||
+ | SOURCE="/mnt/restauration" | ||
+ | # Codes d'erreur | ||
+ | E_REPABSENT=65 | ||
+ | E_PASDERESEAU=66 | ||
+ | |||
+ | # test 1 | ||
+ | if [ -d $SOURCE ] ; | ||
+ | then # le répertoire existe | ||
+ | echo "Répertoire restauration trouvé." | ||
+ | else # Le répertoire n'existe pas | ||
+ | |||
+ | echo "Le répertoire de restauration n'a pas été trouvé." | ||
+ | echo "Vérifier si le support de restauration est monté" | ||
+ | echo "dans le répertoire /mnt/restauration" | ||
+ | echo" Ensuite relancer le script restaurestart" | ||
+ | exit $E_REPABSENT | ||
+ | fi # fin test 1 | ||
+ | # test 2 | ||
+ | if ping -c 1 debian-facile.org &> /dev/null | ||
+ | then | ||
+ | echo "Réseau OK" | ||
+ | else | ||
+ | echo "A priori le réseau n'a pas accès à internet" | ||
+ | echo "Vérifier vos paramètres réseau" | ||
+ | echo | ||
+ | echo "Lien d'aide pour installer la connexion réseau : " | ||
+ | echo "https://debian-facile.org/doc:reseau:interfaces" | ||
+ | exit $E_PASDERESEAU | ||
+ | fi # fin test 2 | ||
+ | |||
+ | |||
+ | |||
+ | echo "Choix répertoire de restauration : 1=BANK1, 2=BANK2" | ||
+ | echo "Une valeur différente de 1 ou 2 = fin programme" | ||
+ | read VALEUR | ||
+ | |||
+ | if [ $VALEUR -eq 1 ];then | ||
+ | BANK="BANK1" | ||
+ | elif [ $VALEUR -eq 2 ];then | ||
+ | BANK="BANK2" | ||
+ | else | ||
+ | exit | ||
+ | fi | ||
+ | echo "Copie du fstab de la sauvegarde au cas où..." | ||
+ | cp -av $SOURCE/$BANK/etc/fstab $SOURCE/$BANK/etc/fstab.bak | ||
+ | echo "Copie du fstab du nouveau système dans la sauvegarde" | ||
+ | cp -av /etc/fstab $SOURCE/$BANK/etc/fstab | ||
+ | echo "Copie le fichier sources.list de la sauvegarde vers le nouveau système" | ||
+ | cp -av $SOURCE/$BANK/etc/apt/sources.list /etc/apt/sources.list | ||
+ | echo "Copie du cache apt de la sauvegarde vers le nouveau système" | ||
+ | cp -a $SOURCE/$BANK/var/cache/apt /var/cache | ||
+ | apt-get update | ||
+ | echo "************************************" | ||
+ | echo "* Lancer le script restaurepaquets *" | ||
+ | echo "************************************" | ||
+ | exit 0 | ||
+ | </file> | ||
+ | <file bash restaurepaquets.sh> | ||
+ | #!/bin/bash | ||
+ | # Variables d'environnement | ||
+ | SOURCE="/mnt/restauration" | ||
+ | MesPaquets="dpkg-selections.list" | ||
+ | ConfDebian="debconf-selections" | ||
+ | # Codes d'erreur | ||
+ | E_REPABSENT=65 | ||
+ | # test 1 | ||
+ | if [ -d $SOURCE ] ; | ||
+ | then # le répertoire existe | ||
+ | echo "Répertoire restauration trouvé." | ||
+ | else # Le répertoire n'existe pas | ||
+ | |||
+ | echo "Le répertoire de restauration n'a pas été trouvé." | ||
+ | echo "Vérifier si le support de restauration est monté" | ||
+ | exit $E_REPABSENT | ||
+ | fi # fin test 1 | ||
+ | |||
+ | echo "Choix répertoire de restauration : 1=BANK1, 2=BANK2" | ||
+ | echo "Une valeur différente de 1 ou 2 = fin programme" | ||
+ | read VALEUR | ||
+ | |||
+ | if [ $VALEUR -eq 1 ];then | ||
+ | BANK="BANK1" | ||
+ | elif [ $VALEUR -eq 2 ];then | ||
+ | BANK="BANK2" | ||
+ | else | ||
+ | exit | ||
+ | fi | ||
+ | cd $SOURCE/$BANK | ||
+ | apt-cache dumpavail | dpkg --merge-avail | ||
+ | dpkg --clear-selections | ||
+ | dpkg --set-selections <$MesPaquets | ||
+ | apt-get dselect-upgrade | ||
+ | echo "*******************************************************" | ||
+ | echo "* Terminé : Si besoin exécutez les opérations 1 et 2 *" | ||
+ | echo "* dans l'ordre. *" | ||
+ | echo "* *" | ||
+ | echo "* 1- Installer manuellement les paquets issus d'autres*" | ||
+ | echo "* dépôts que stable *" | ||
+ | echo "* exemple : *" | ||
+ | echo "* apt-get -t jessie-backports install paquet1 paquet2 *" | ||
+ | echo "* *" | ||
+ | echo "* 2 - Si vous restaurez également le répertoire /home *" | ||
+ | echo "* faites le maintenant. *" | ||
+ | echo "* *" | ||
+ | echo "* Ensuite lancer le script restauredebian *" | ||
+ | echo "*******************************************************" | ||
+ | exit 0 | ||
+ | </file> | ||
+ | <file bash restauredebian.sh> | ||
+ | #!/bin/bash | ||
+ | # Variables d'environnement | ||
+ | SOURCE="/mnt/restauration" | ||
+ | |||
+ | # Codes d'erreur | ||
+ | E_REPABSENT=65 | ||
+ | # test 1 | ||
+ | if [ -d $SOURCE ] ; | ||
+ | then # les répertoires existent | ||
+ | echo "Répertoire restauration trouvé." | ||
+ | else # Les répertoires n'existent pas | ||
+ | |||
+ | echo "Le répertoire de restauration n'a pas été trouvé." | ||
+ | echo "Vérifier si le support de restauration est monté" | ||
+ | exit $E_REPABSENT | ||
+ | fi # fin test 1 | ||
+ | |||
+ | echo "Choix répertoire de restauration : 1=BANK1, 2=BANK2" | ||
+ | echo "Une valeur différente de 1 ou 2 = fin programme" | ||
+ | read VALEUR | ||
+ | |||
+ | if [ $VALEUR -eq 1 ];then | ||
+ | BANK="BANK1" | ||
+ | elif [ $VALEUR -eq 2 ];then | ||
+ | BANK="BANK2" | ||
+ | else | ||
+ | exit | ||
+ | fi | ||
+ | |||
+ | cd $SOURCE/$BANK | ||
+ | echo "Copie du répertoire usr/local" | ||
+ | cp -a usr/local/sauvegarde /usr/local | ||
+ | echo "Copie du répertoire var/log" | ||
+ | cp -a var/log /var | ||
+ | echo "Copie du répertoire var/mail" | ||
+ | cp -a var/mail /var | ||
+ | echo "Copie du répertoire var/spool" | ||
+ | cp -a var/spool /var | ||
+ | echo "Copie du répertoire etc" | ||
+ | cp -a etc / | ||
+ | echo "Copie du répertoire root" | ||
+ | cp -a root / | ||
+ | echo "******************************************" | ||
+ | echo "* restauration fichiers système terminée *" | ||
+ | echo "* Lancer la commande : shutdown -r *" | ||
+ | echo "******************************************" | ||
+ | exit 0 | ||
+ | </file> | ||
===== Mes sources d'inspiration ===== | ===== Mes sources d'inspiration ===== | ||
Ligne 383: | Ligne 660: | ||
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]] | + | * [[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]] | + | * [[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]] |