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:34] Philou92 [Mise en place du système de sauvegarde] |
utilisateurs:philou92:tutos:sauvegarde-systeme-leger [04/07/2017 21:36] Philou92 [Installation] |
||
---|---|---|---|
Ligne 25: | 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 34: | 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 59: | Ligne 62: | ||
===== 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 (Note : Sauvegarde c'est le petit nom que j'ai donné à mon disque) | ||
+ | <code config retour de la commande>LABEL="Sauvegarde" UUID="8498c62b-ad6f-4966-990e-822f729a01c3" TYPE="ext4" PARTUUID="f239042f-01"</code> | ||
+ | |||
+ | Éditez votre fichier /etc/fstab avec votre éditeur favori (nano, vim) et ajoutez la ligne suivante | ||
+ | <file bash extrait/etc/fstab> | ||
+ | #UUID=8498c62b-ad6f-4966-990e-822f729a01c3 /mnt/sauvegarde ext4 defaults,nofail,noauto 0 | ||
+ | </file> | ||
+ | |||
+ | 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> | ||
+ | |||
+ | |||
- | repérez votre disque comme ici : | ||
- | LABEL="Sauvegarde" UUID="8498c62b-ad6f-4966-990e-822f729a01c3" TYPE="ext4" PARTUUID="f239042f-01" | ||
- | editez votre fichier /etc/fstab avec votre éditeur favori (nano, vim) et ajoutez la ligne suivante | ||
- | #UUID=8498c62b-ad6f-4966-990e-822f729a01c3 /mnt/sauvegarde ext4 defaults,nofail | ||
- | ,noauto 0 | ||
- | La ligne est pour l'instant commentée | + | 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éation du service de sauvegarde ==== | ||
Ligne 82: | Ligne 122: | ||
<file config service.sauvegarde> | <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 115: | Ligne 155: | ||
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". | ||
- | <code root>adduser <USER> sauvegarde</code> | + | <code root>adduser <USER1> sauvegarde</code> |
- | <code config retour de la commande>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.</code> | Fait.</code> | ||
Ligne 152: | Ligne 192: | ||
==== Le script de sauvegarde ==== | ==== Le script de sauvegarde ==== | ||
- | |||
- | |||
Créer le répertoire /root/backup/ | Créer le répertoire /root/backup/ | ||
<code root>cd /root | <code root>cd /root | ||
Ligne 162: | Ligne 200: | ||
<code root>touch rsync-backup.log | <code root>touch rsync-backup.log | ||
touch rsync-backup.date | touch rsync-backup.date | ||
- | rsync-backup.sh</code> | + | touch rsync-backup.sh</code> |
- | Modifier les droits du fichier rsync-backup.sh | + | <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> |
- | <code root>chmod 700 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: | + | Editer le fichier rsync-backup.sh et ajouter le script suivant: |
- | (modifier la ligne 27 avec l'UUID de votre disque) | + | <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 178: | Ligne 215: | ||
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" | ||
Ligne 194: | Ligne 231: | ||
fi | fi | ||
fi | fi | ||
+ | # Essaye de monter le disque dur et recherche dans quel conteneur enregistrer la sauvegarde | ||
mount UUID=8498c62b-ad6f-4966-990e-822f729a01c3 $MONTAGE | mount UUID=8498c62b-ad6f-4966-990e-822f729a01c3 $MONTAGE | ||
if [ -f $BANKSTATUS ]; then | if [ -f $BANKSTATUS ]; then | ||
Ligne 215: | Ligne 252: | ||
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 232: | Ligne 270: | ||
exit | exit | ||
fi | fi | ||
- | #exit 0 | ||
- | |||
# Variables d'environnement | # Variables d'environnement | ||
Ligne 246: | Ligne 282: | ||
E_REPABSENT=65 | E_REPABSENT=65 | ||
E_POINTEURABSENT=66 | E_POINTEURABSENT=66 | ||
- | |||
- | echo $DESTINATION | ||
# test 1 | # test 1 | ||
Ligne 289: | Ligne 323: | ||
exit 0 | exit 0 | ||
+ | </file> | ||
+ | |||
+ | Modifier les droits du fichier rsync-backup.sh | ||
+ | <code root>chmod 700 rsync-backup.sh</code> | ||
+ | |||
+ | ==== Fichiers de configuration rsync ==== | ||
- | ************** | + | faire un |
+ | <code root>touch rsync-backup-include</code> | ||
- | faire un touch rsync-backup-include et ajouter les lignes suivantes : | + | 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 307: | Ligne 349: | ||
- /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 345: | Ligne 384: | ||
+ /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 371: | Ligne 409: | ||
- /initrd.img | - /initrd.img | ||
- /vmlinuz | - /vmlinuz | ||
- | - /home/virtualdebian/.cache | + | - /home/<USER1>/.cache |
- | - /home/test/.cache | + | - /home/<USER2>/.cache |
Ligne 383: | Ligne 421: | ||
- ** | - ** | ||
- | ********* | + | </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. | + | |