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
doc:systeme:rsync:backup [11/07/2013 08:46]
gksam [Désinstallation]
doc:systeme:rsync:backup [23/08/2015 17:55] (Version actuelle)
milou [rsync]
Ligne 1: Ligne 1:
-====== ​Sauvegarde incrémentielle avec rsync ====== +====== rsync ======
-Tags : {{tag>​en-chantier à-tester à-placer}}+
  
-(//testé ​// - **gksam** ​09-07-2013)+  * Objet : rsync, la sauvegarde incrémentielle. 
 +  * Niveau requis : {{tag>​débutant avisé}} 
 +  * Commentaires : //sauvegarder les dossiers et fichiers à l'​arrêt d'une machine; envoiyer des mails locaux en cas d'​erreur.// 
 +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-
 +  ​Suivi :​{{tag>​à-tester}} 
 +    ​Création par [[user>gksam]] le 22/​06/​2013 
 +    ​Testé par ... le ... 
 +  ​Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​id=7061 | c'est ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=7061 | Lien vers le forum concernant ce tuto]] 
-   ​N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! 
- 
-* Objet : Sauvegarder les dossiers et fichiers à l'​arrêt d'une machine. Envoie des mails locaux en cas d'​erreur. 
- 
-* Niveau requis : DÉBUTANT(E) 
- 
-* Commentaires : le but est de sauvegarder sa machine sans y penser. 
- 
-* Débutant, à savoir : [[manuel:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) 
 ===== Introduction ===== ===== Introduction =====
  
-<file>+<code>
 /​mnt/​sauvegarde/​ /​mnt/​sauvegarde/​
 ├── machine1 ├── machine1
Ligne 42: Ligne 38:
 │       ​├── root │       ​├── root
 │       ​└── var │       ​└── var
-</file>+</code>
  
-L'​architecture du dossier de sauvegarde est comme ci-dessus.+L'​architecture du dossier de sauvegarde est décrite ​ci-dessus.
  
-Les dossiers up-to-date contiennent la dernière sauvegarde.+Les dossiers ​//up-to-date// contiennent la dernière sauvegarde.
  
-Les dossiers increment contiennent eux les fichiers et dossiers qui ont été supprimédéplacé ​ou modifié. À savoir que lors d'un déplacement +Les dossiers ​//increment// contiennent eux les fichiers et dossiers qui ont été supprimésdéplacés ​ou modifiés. À savoir que lors d'un déplacement 
-le dossier sera copié deux fois. Une fois dans le dossier increment et sera retranféré dans le dossier up-to-datedonc, attention+le dossier sera copié deux fois. Une fois dans le dossier ​//increment// et sera retranféré dans le dossier ​//up-to-date//; donc, attention
 à l'​espace disque. à l'​espace disque.
  
Ligne 56: Ligne 52:
 ===== Vérifier l'​état du paquet rsync ===== ===== Vérifier l'​état du paquet rsync =====
 Pour que la sauvegarde fonctionne, il faut que le paquet [[http://​packages.debian.org/​stable/​rsync|rsync]] soit installé dans le système. Pour que la sauvegarde fonctionne, il faut que le paquet [[http://​packages.debian.org/​stable/​rsync|rsync]] soit installé dans le système.
-Donc, dans une console, exécuter la commande suivante. +Pour le vérifier, exécuter la commande suivante. 
-<​code>​ +<​code ​user>dpkg --list '​rsync' ​2>&1 > /dev/null ) && echo "rsync est installé"​ || echo "rsync n'est pas installé"</​code>​
-dpkg --list '​rsync'​ && echo "rsync est installé"​ || echo "rsync n'est pas installé"​ +
-</​code>​+
  
 ===== Installer le paquet rsync ===== ===== Installer le paquet rsync =====
-Si le paquet rsync n'est pas installé, dans une console en root, exécuter la commande suivante. +Si le paquet rsync n'est pas installé, exécuter la commande suivante ​en tant que //root//
-<​code>​ +<​code ​root>apt-get install rsync -y</​code>​
-apt-get install rsync -y +
-</​code>​+
  
 ===== Créer le script de sauvegarde ===== ===== Créer le script de sauvegarde =====
  
-==== Créer le fichier rsync-backup.sh dans le dossier /etc/init.d ====+==== Créer le fichier rsync-backup dans le dossier /etc/init.d ====
 Dans une console en root, exécuter la commande suivante. Dans une console en root, exécuter la commande suivante.
-<​code>​ +<​code ​root>touch /​etc/​init.d/​rsync-backup</​code>​
-touch /​etc/​init.d/​rsync-backup.sh +
-</​code>​+
  
-==== Modifier les droits du fichier rsync-backup.sh pour qu'il devienne exécutable ====+==== Modifier les droits du fichier rsync-backup pour qu'il devienne exécutable ====
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
-<​code>​ +<​code ​root>chmod 755 /​etc/​init.d/​rsync-backup</​code>​
-chmod 755 /​etc/​init.d/​rsync-backup.sh +
-</​code>​+
  
-==== Copier le contenu du fichier rsync-backup.sh ====+==== Copier le contenu du fichier rsync-backup ====
 Pour éditer le fichier, dans une console en root, exécuter la commande suivante. Pour éditer le fichier, dans une console en root, exécuter la commande suivante.
-<​code>​ +<​code ​root>nano /​etc/​init.d/​rsync-backup</​code>​
-nano /​etc/​init.d/​rsync-backup.sh +
-</​code>​+
  
 Copier le contenu suivant. Copier le contenu suivant.
  
-<file>+<code bash /​etc/​init.d/​rsync-backup>
 #! /bin/sh #! /bin/sh
 ### BEGIN INIT INFO ### BEGIN INIT INFO
 # Provides: ​         rsync-backup # Provides: ​         rsync-backup
 # Required-Start:​ # Required-Start:​
-# Required-Stop: ​    $all+# Required-Stop: ​    $local_fs $network $named $remote_fs $syslog $time
 # Should-Stop:​ # Should-Stop:​
 # Default-Start:​ # Default-Start:​
Ligne 120: Ligne 106:
  # retourner 2 en cas d'​échec  # retourner 2 en cas d'​échec
  [ ! -w $point_montage ] && return 2;  [ ! -w $point_montage ] && return 2;
 +
 + # si le dossier up-to-date n'​existe pas alors créer le dossier up-to-date
 + [ ! -d $point_montage/​$nom_hote/​up-to-date ] && mkdir -p $point_montage/​$nom_hote/​up-to-date
 +
 + # si le dossier increment n'​existe pas alors créer le dossier increment
 + [ ! -d $point_montage/​$nom_hote/​increment ] && mkdir -p $point_montage/​$nom_hote/​increment
  
  # exécuter la commande rsync de sauvegarde  # exécuter la commande rsync de sauvegarde
Ligne 130: Ligne 122:
  
  # supprimer les anciennes sauvegarde  # supprimer les anciennes sauvegarde
- find $point_montage/​$nom_hote/​increment/​-maxdepth ​-type d -ctime +$nb_jours -exec rm -rf {} \; || return 4+ find $point_montage/​$nom_hote/​increment/ ​-mindepth 1 -maxdepth ​-type d -ctime +$nb_jours -exec rm -rf {} \;
  
  return 0  return 0
Ligne 199: Ligne 191:
  envoyer_mail "​échec de la commande rsync"  envoyer_mail "​échec de la commande rsync"
  exit 1  exit 1
- ;; 
- 
- 4) log_end_msg 0 
- log_warning_msg "​problème de suppression des increments"​ 
- exit 0; 
  ;;  ;;
  esac  esac
Ligne 213: Ligne 200:
  ;;  ;;
 esac esac
- +</code>
-</file>+
  
 ==== Sauvegarder le fichier et quitter l'​éditeur de texte ==== ==== Sauvegarder le fichier et quitter l'​éditeur de texte ====
- +<​key>​C-o</​key> ​suivi de <​key>​C-x</​key>​
-ctrl+o suivi de ctrl+x+
  
 ===== Créer le script de configuration ===== ===== Créer le script de configuration =====
Ligne 226: Ligne 211:
 Dans une console en root, exécuter la commande suivante. Dans une console en root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>touch /​etc/​rsync-backup.conf</​code>​
-touch /​etc/​rsync-backup.conf +
-</​code>​+
  
 ==== Modifier les droits du fichier rsync-backup.conf pour qu'il devienne exécutable ==== ==== Modifier les droits du fichier rsync-backup.conf pour qu'il devienne exécutable ====
Ligne 234: Ligne 217:
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>chmod 644 /​etc/​rsync-backup.conf</​code>​
-chmod 644 /​etc/​rsync-backup.conf +
-</​code>​+
  
 ==== Copier le contenu du fichier rsync-backup.conf ==== ==== Copier le contenu du fichier rsync-backup.conf ====
Ligne 242: Ligne 223:
 Pour éditer le fichier, dans une console en root, exécuter la commande suivante. Pour éditer le fichier, dans une console en root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>nano /​etc/​rsync-backup.conf</​code>​
-nano /​etc/​rsync-backup.conf +
-</​code>​+
  
 Copier le contenu suivant. Copier le contenu suivant.
- +<code ini /​etc/​rsync-backup.conf>
-<file>+
 # le point de montage doit être monté # le point de montage doit être monté
 point_montage='/​mnt/​sauvegarde'​ point_montage='/​mnt/​sauvegarde'​
 nb_jours=10 nb_jours=10
- +</code>
-</file>+
  
 ==== Sauvegarder le fichier et quitter l'​éditeur de texte ==== ==== Sauvegarder le fichier et quitter l'​éditeur de texte ====
- +<​key>​C-o</​key> ​suivi de <​key>​C-x</​key>​
-ctrl+o suivi de ctrl+x+
  
 ===== Créer le fichier de sélection des dossiers et fichiers à sauvegarder ===== ===== Créer le fichier de sélection des dossiers et fichiers à sauvegarder =====
Ligne 267: Ligne 243:
 Dans une console en root, exécuter la commande suivante. Dans une console en root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>touch /​etc/​rsync-backup-include</​code>​
-touch /​etc/​rsync-backup-include +
-</​code>​+
  
 ==== Modifier les droits du fichier rsync-backup-include ==== ==== Modifier les droits du fichier rsync-backup-include ====
Ligne 275: Ligne 249:
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>chmod 644 /​etc/​rsync-backup-include</​code>​
-chmod 644 /​etc/​rsync-backup-include +
-</​code>​+
  
 ==== Copier le contenu du fichier rsync-backup-include ==== ==== Copier le contenu du fichier rsync-backup-include ====
Ligne 283: Ligne 255:
 Pour éditer le fichier, dans une console en root, exécuter la commande suivante. Pour éditer le fichier, dans une console en root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>nano /​etc/​rsync-backup-include</​code>​
-nano /​etc/​rsync-backup-include +
-</​code>​+
  
 Copier le contenu suivant. Copier le contenu suivant.
- +<code ini /​etc/​rsync-backup-include>
-<file>+
 # La commande rsync utitilisée inclue / (root) et exclue tout. Cela ne sauvegarde rien. Le fichier rsync-backup-include permet d'​inclure ce que l'on veut sauvegarder. # La commande rsync utitilisée inclue / (root) et exclue tout. Cela ne sauvegarde rien. Le fichier rsync-backup-include permet d'​inclure ce que l'on veut sauvegarder.
 # (note : pour plus d'​information voir la page de manuel de rync dans les sections : FILTER RULES, INCLUDE/​EXCLUDE PATTERN RULES, MERGE-FILE FILTER RULES) # (note : pour plus d'​information voir la page de manuel de rync dans les sections : FILTER RULES, INCLUDE/​EXCLUDE PATTERN RULES, MERGE-FILE FILTER RULES)
Ligne 365: Ligne 334:
 # exclure tout (comme ça on est sûr) # exclure tout (comme ça on est sûr)
 - ** - **
- +</code>
-</file>+
  
 pour plus d'​informations sur cette partie, dans une console, exécuter la commande suivante. pour plus d'​informations sur cette partie, dans une console, exécuter la commande suivante.
  
-<​code>​ +<​code ​user>man rsync</​code>​
-man rsync +
-</​code>​+
  
 sections : FILTER RULES et INCLUDE/​EXCLUDE PATTERN RULES sections : FILTER RULES et INCLUDE/​EXCLUDE PATTERN RULES
Ligne 378: Ligne 344:
 ==== Sauvegarder le fichier et quitter l'​éditeur de texte ==== ==== Sauvegarder le fichier et quitter l'​éditeur de texte ====
  
-ctrl+o suivi de ctrl+x+<​key>​C-o</​key> ​suivi de <​key>​C-x</​key>​
  
 ===== Ajouter rotation du fichier de log ===== ===== Ajouter rotation du fichier de log =====
Ligne 386: Ligne 352:
 Dans une console en root, exécuter la commande suivante. Dans une console en root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>touch /​etc/​logrotate.d/​rsync-backup</​code>​
-touch /​etc/​logrotate.d/​rsync-backup +
-</​code>​+
  
 ==== Modifier les droits du fichier rsync-backup ==== ==== Modifier les droits du fichier rsync-backup ====
Ligne 394: Ligne 358:
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>chmod 644 /​etc/​logrotate.d/​rsync-backup</​code>​
-chmod 644 /​etc/​logrotate.d/​rsync-backup +
-</​code>​+
  
 ==== Copier le contenu du fichier rsync-backup ==== ==== Copier le contenu du fichier rsync-backup ====
Ligne 402: Ligne 364:
 Pour éditer le fichier, dans une console en root, exécuter la commande suivante. Pour éditer le fichier, dans une console en root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>nano /​etc/​logrotate.d/​rsync-backup</​code>​
-nano /​etc/​logrotate.d/​rsync-backup +
-</​code>​+
  
 Copier le contenu suivant. Copier le contenu suivant.
- +<code ini /​etc/​logrotate.d/​rsync-backup>
-<file>+
 /​var/​log/​rsync-backup.log { /​var/​log/​rsync-backup.log {
  
Ligne 418: Ligne 377:
  weekly  weekly
 } }
- +</code>
-</file>+
  
 ==== Sauvegarder le fichier et quitter l'​éditeur de texte ==== ==== Sauvegarder le fichier et quitter l'​éditeur de texte ====
  
-ctrl+o suivi de ctrl+x+<​key>​C-o</​key> ​suivi de <​key>​C-x</​key>​
  
-===== Ajouter le lancement automatique de la sauvegade ​(cron) =====+===== Ajouter le lancement automatique de la sauvegarde ​(cron) =====
  
 ==== Éditer le fichier contenant les cron ==== ==== Éditer le fichier contenant les cron ====
Ligne 431: Ligne 389:
 Pour éditer le fichier, dans une console en root, exécuter la commande suivante. Pour éditer le fichier, dans une console en root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>crontab -e</​code>​
-crontab -e +
-</​code>​+
  
 ==== Ajouter la tâche à exécuter ==== ==== Ajouter la tâche à exécuter ====
Ligne 442: Ligne 398:
  
 <​code>​ <​code>​
-0 4 * * * invoke-rc.d rsync-backup.sh stop+0 4 * * * /usr/sbin/invoke-rc.d rsync-backup stop
 </​code>​ </​code>​
  
 ==== Sauvegarder le fichier et quitter l'​éditeur de cron ==== ==== Sauvegarder le fichier et quitter l'​éditeur de cron ====
- +<​key>​C-o</​key> ​suivi de <​key>​C-x</​key>​
-ctrl+o suivi de ctrl+x+
  
 ===== Installer le lien vers le script d'​initialisation de type Système V ===== ===== Installer le lien vers le script d'​initialisation de type Système V =====
Ligne 455: Ligne 410:
 note : ne pas s'​inquiéter du message : update-rc.d:​ warning: ​ stop runlevel arguments (none) do not match rsync-backup Default-Stop values (0) note : ne pas s'​inquiéter du message : update-rc.d:​ warning: ​ stop runlevel arguments (none) do not match rsync-backup Default-Stop values (0)
  
-<​code>​ +<​code ​root>​update-rc.d rsync-backup stop 0</​code>​
-update-rc.d rsync-backup.sh stop 0 +
-</​code>​+
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 467: Ligne 420:
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>​invoke-rc.d rsync-backup stop</​code>​
-invoke-rc.d rsync-backup.sh stop +
-</​code>​+
  
 ==== Vérifier que la sauvegarde fonctionne ==== ==== Vérifier que la sauvegarde fonctionne ====
Ligne 475: Ligne 426:
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
  
-<​code>​ +<​code ​root>grep '​rsync-backup:'​ /​var/​log/​syslog</​code>​
-grep '​rsync-backup:'​ /​var/​log/​syslog +
-</​code>​+
  
 ==== Afficher ce qui est sauvegardé ==== ==== Afficher ce qui est sauvegardé ====
 Dans une console, exécuter la commande suivante. Dans une console, exécuter la commande suivante.
-<​code>​ +<​code ​user>cat /​var/​log/​rsync-backup.log</​code>​
-cat /​var/​log/​rsync-backup.log +
-</​code>​+
  
 ===== Désinstallation ===== ===== Désinstallation =====
  
 Dans une console root, exécuter les commandes suivantes. Dans une console root, exécuter les commandes suivantes.
- +<​code ​root
-<​code>​ +update-rc.d rsync-backup remove</​code>​ 
-update-rc.d rsync-backup.sh remove +(supprimer la tâche dans crontab) 
-supprimer la tâche dans crontab +<code root>crontab -e</​code> ​   
-crontab -e +<code root>rm /​etc/​init.d/​rsync-backup</​code>​ 
-rm /​etc/​init.d/​rsync-backup.sh +<code root>rm /​etc/​rsync-backup-include</​code>​ 
-rm /​etc/​rsync-backup-include +<code root>rm /​etc/​rsync-backup.conf</​code>​ 
-rm /​etc/​rsync-backup.conf +<code root>rm /​etc/​logrotate.d/​rsync-backup</​code>​ 
-rm /​etc/​logrotate.d/​rsync-backup +<code root>rm /​var/​log/​rsync-backup.log</​code>​ 
-rm /​var/​log/​rsync-backup.log +<code root>apt-get purge rsync -y
-apt-get purge rsync -y+
 </​code>​ </​code>​
doc/systeme/rsync/backup.1373525187.txt.gz · Dernière modification: 11/07/2013 08:46 par gksam

Pied de page des forums

Propulsé par FluxBB