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:03] Philou92 [Utilisation] |
utilisateurs:philou92:tutos:sauvegarde-systeme-leger [03/07/2017 23:40] 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 60: | Ligne 67: | ||
repérez votre disque comme ici : | repérez votre disque comme ici : | ||
- | LABEL="Sauvegarde" UUID="8486c62b-ad6f-4966-990e-822f729a01c3" TYPE="ext4" PARTUUID="f239042f-01" | + | 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 | editez 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 | + | #UUID=8498c62b-ad6f-4966-990e-822f729a01c3 /mnt/sauvegarde ext4 defaults,nofail |
,noauto 0 | ,noauto 0 | ||
La ligne est pour l'instant commentée | La ligne est pour l'instant commentée | ||
+ | ==== 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=backupbidule | ||
Ligne 85: | Ligne 94: | ||
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 104: | ||
- | === 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 | ||
- | Ajout du groupe « sauvegarde » (GID 1003)... | ||
- | Fait. | ||
+ | Créer le groupe sauvegarde | ||
- | -ajouter un ou plusieurs <USER> habilité(s) à déclencher une sauvegarde ponctuelle au groupe "sauvegarde". | + | <code root>addgroup sauvegarde</code> |
- | adduser <USER> sauvegarde | + | <code config retour de la commande>Ajout du groupe « sauvegarde » (GID 1003)... |
- | Ajout de l'utilisateur « <USER> » au groupe « sauvegarde »... | + | Fait.</code> |
+ | |||
+ | |||
+ | Ajouter un ou plusieurs <USER> habilité(s) à déclencher une sauvegarde ponctuelle au groupe "sauvegarde". | ||
+ | <code root>adduser <USER> sauvegarde</code> | ||
+ | <code config retour de la commande>Ajout de l'utilisateur « <USER> » au groupe « sauvegarde »... | ||
Ajout de l'utilisateur <USER> au groupe sauvegarde | Ajout de l'utilisateur <USER> 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/ | + | |
- | A l'intérieur | + | Créer le répertoire /root/backup/ |
- | Faire un touch rsync-backup.log | + | <code root>cd /root |
- | Faire un touch rsync-backup.date | + | mkdir backup |
+ | cd backup</code> | ||
+ | |||
+ | A l'intérieur créer les trois fichiers suivants : | ||
+ | <code root>touch rsync-backup.log | ||
+ | touch rsync-backup.date | ||
+ | touch rsync-backup.sh</code> | ||
+ | |||
+ | <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 les droits du fichier rsync-backup.sh | ||
+ | <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: | créer le fichier rsync-backup.sh avec les droits d'exécution pour root uniquement et ajouter le script suivant: | ||
- | (modifier la ligne 27 avec l'UUID de votre disque) | + | (modifier la ligne 24 avec l'UUID de votre disque) |
#! /bin/sh | #! /bin/sh | ||
- | nom_hote=`hostname` | ||
SOURCE="/" | SOURCE="/" | ||
MONTAGE="/mnt/sauvegarde" | MONTAGE="/mnt/sauvegarde" | ||
Ligne 153: | Ligne 184: | ||
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 165: | Ligne 196: | ||
fi | fi | ||
- | #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 190: | Ligne 220: | ||
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 376: | Ligne 407: | ||
[[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]] |