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
doc:systeme:rsync:backup [07/07/2013 13:30]
gksam [Créer le script de sauvegarde]
doc:systeme:rsync:backup [03/07/2014 00:06]
127.0.0.1 modification externe
Ligne 1: Ligne 1:
 ====== Sauvegarde incrémentielle avec rsync ====== ====== Sauvegarde incrémentielle avec rsync ======
-Tags : {{tag>​en-chantier à-tester ​à-placer}}+Tags : {{tag>​en-chantier à-tester}}
  
-(//testé // - **gksam** ​20-06-2013)+(//testé // - **gksam** ​25-07-2013)
  
 Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=7061 | Lien vers le forum concernant ce tuto]] 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 !    ​N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
  
-ajout prévu : +* Objet : Sauvegarder les dossiers et fichiers ​à l'​arrêt ​d'une machine. Envoie des mails locaux en cas d'​erreur.
-logrotate du fichier de log /​var/​log/​rsync-backup.log & crontab de la sauvegarde +
- +
-* Objet : Sauvegarder les dossiers et fichiers d'une machine+
  
 * Niveau requis : DÉBUTANT(E) * Niveau requis : DÉBUTANT(E)
Ligne 16: Ligne 13:
 * Commentaires : le but est de sauvegarder sa machine sans y penser. * 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à !.]] :-)+* Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
 ===== Introduction ===== ===== Introduction =====
  
Ligne 61: Ligne 58:
 Donc, dans une console, exécuter la commande suivante. Donc, dans une console, exécuter la commande suivante.
 <​code>​ <​code>​
-$ dpkg --list '​rsync'​ && echo "rsync est installé"​ || echo "rsync n'est pas installé"​+ ​( ​dpkg --list '​rsync' ​2>&1 > /dev/null ) && echo "rsync est installé"​ || echo "rsync n'est pas installé"​
 </​code>​ </​code>​
  
Ligne 72: Ligne 69:
 ===== 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>​
-# touch /​etc/​init.d/​rsync-backup.sh+# touch /​etc/​init.d/​rsync-backup
 </​code>​ </​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>​
-# chmod 755 /​etc/​init.d/​rsync-backup.sh+# chmod 755 /​etc/​init.d/​rsync-backup
 </​code>​ </​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>​
-# nano /​etc/​init.d/​rsync-backup.sh+# nano /​etc/​init.d/​rsync-backup
 </​code>​ </​code>​
  
Ligne 97: Ligne 94:
 # 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 123: Ligne 120:
  # 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 133: Ligne 136:
  
  # 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 202: Ligne 205:
  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 267: Ligne 265:
  
 ==== Créer le fichier rsync-backup-include dans le dossier /etc/ ==== ==== Créer le fichier rsync-backup-include dans le dossier /etc/ ====
 +
 Dans une console en root, exécuter la commande suivante. Dans une console en root, exécuter la commande suivante.
 +
 <​code>​ <​code>​
 # touch /​etc/​rsync-backup-include # touch /​etc/​rsync-backup-include
Ligne 273: Ligne 273:
  
 ==== Modifier les droits du fichier rsync-backup-include ==== ==== Modifier les droits du fichier rsync-backup-include ====
 +
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
 +
 <​code>​ <​code>​
 # chmod 644 /​etc/​rsync-backup-include # chmod 644 /​etc/​rsync-backup-include
Ligne 279: Ligne 281:
  
 ==== Copier le contenu du fichier rsync-backup-include ==== ==== Copier le contenu du fichier rsync-backup-include ====
 +
 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>​
 # nano /​etc/​rsync-backup-include # nano /​etc/​rsync-backup-include
Ligne 285: Ligne 289:
  
 Copier le contenu suivant. Copier le contenu suivant.
-note : +
 <​file>​ <​file>​
-- /bin+# 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. 
-- /boot+# (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) 
-- /dev/+# à la visite d'un dossier, penser à exclure ce que l'on ne veut pas sauvegarder avant de mettre la règle contenant les * 
 +# + [pattern] inclu un motif 
 +# - [pattern] exclu un motif 
 +# '​*'​ remplace tout et s'​arrête au premier slash. 
 +# '​**'​ remplace tout, incluant les slashs. 
 +# + /dossier/ visite un dossier mais ne sauvegarde rien 
 +# + /dossier/* sauvegarde tous les fichiers et dossiers mais de manière non récursive (les dossiers seront vides) 
 +# + /dossier/** sauvegarde tous le contenu du dossier récursivement 
 + 
 +# exclure les fichiers 
 +- /initrd.img 
 +/vmlinuz 
 +#.git/ 
 +#- .cvs/ 
 + 
 +# sauvegarder le contenue du dossier ​/etc
 + /etc/ + /etc/
 + /etc/** + /etc/**
 +
 +# sauvegarde tous les dossiers utilisateurs
 + /home/ + /home/
-#- /home/*/Bureau+/home/*/ 
-#- /​home/​*/​Documents/​ +exclure les dossiers et fichiers que l'on ne veut pas sauvegarder dans les dossiers utilisateurs
-#- /​home/​*/​Images/​ +
-#- /​home/​*/​Modèles/​+
 - /​home/​*/​Musique/​ - /​home/​*/​Musique/​
 - /​home/​*/​Public/​ - /​home/​*/​Public/​
Ligne 318: Ligne 337:
 - /​home/​*/​.macromedia/​ - /​home/​*/​.macromedia/​
 - /​home/​*/​.mozilla/​ - /​home/​*/​.mozilla/​
 +- /​home/​*/​.pulse/​
 - /​home/​*/​.pulse-cookie - /​home/​*/​.pulse-cookie
 - /​home/​*/​.recently-used - /​home/​*/​.recently-used
Ligne 325: Ligne 345:
 - /​home/​*/​.xsession-errors - /​home/​*/​.xsession-errors
 - /​home/​*/​.xsession-errors.old - /​home/​*/​.xsession-errors.old
-+ /home/*+# sauvegarder tout ce qui n'a pas était exclue dans les dossiers utilisateurs
 + /home/*/** + /home/*/**
-- /initrd.img + 
-- /lib/ +# sauvegarder le dossier de l'​utilisateur root
-- lost+found/​ +
-- /media/ +
-- /opt/ +
-- /proc/+
 + /root/ + /root/
 + /root/** + /root/**
-- /run/ + 
-- /sbin/ +# sauvegarder le dossier cron
-- /selinux/ +
-- /srv/ +
-- /sys/ +
-- /tmp/ +
-- /usr/+
 + /var/ + /var/
-+ /var/mail/ 
-+ /​var/​mail/​** 
 + /var/spool/ + /var/spool/
 + /​var/​spool/​cron/​ + /​var/​spool/​cron/​
 + /​var/​spool/​cron/​** + /​var/​spool/​cron/​**
-/vmlinuz + 
-- *.cvs +# sauvegarder le dossier mail 
-- .git+#+ /var
-- *~+#+ /var/spool/ 
 ++ /​var/​spool/​mail/ 
 ++ /​var/​spool/​mail/​** 
 + 
 +# exclure tout (comme ça on est sûr) 
 +- **
  
 </​file>​ </​file>​
Ligne 363: Ligne 377:
 sections : FILTER RULES et INCLUDE/​EXCLUDE PATTERN RULES sections : FILTER RULES et INCLUDE/​EXCLUDE PATTERN RULES
  
-Cette partie est la plus compliquéeEn grosmettre un (commenter ​une ligne permet de sauvegarder un dossier et ses sous dossiers.+==== Sauvegarder le fichier et quitter l'​éditeur de texte ==== 
 + 
 +ctrl+o suivi de ctrl+x 
 + 
 +===== Ajouter rotation du fichier de log ===== 
 + 
 +==== Créer le fichier rsync-backup dans le dossier /​etc/​logrotate.d ==== 
 + 
 +Dans une console en root, exécuter ​la commande suivante. 
 + 
 +<​code>​ 
 +# touch /​etc/​logrotate.d/​rsync-backup 
 +</​code>​ 
 + 
 +==== Modifier les droits du fichier rsync-backup ==== 
 + 
 +Dans une console rootexécuter la commande suivante. 
 + 
 +<​code>​ 
 +chmod 644 /​etc/​logrotate.d/​rsync-backup 
 +</​code>​ 
 + 
 +==== Copier le contenu du fichier rsync-backup ==== 
 + 
 +Pour éditer le fichier, dans une console en root, exécuter la commande suivante. 
 + 
 +<​code>​ 
 +# nano /​etc/​logrotate.d/​rsync-backup 
 +</​code>​ 
 + 
 +Copier le contenu suivant. 
 + 
 +<​file>​ 
 +/​var/​log/​rsync-backup.log { 
 + 
 + compress 
 + copytruncate 
 + delaycompress 
 + missingok 
 + notifempty 
 + weekly 
 +
 + 
 +</​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 ctrl+o suivi de ctrl+x
  
-==== Installer le lien vers le script d'​initialisation de type Système V ====+===== Ajouter le lancement automatique de la sauvegarde (cron) ===== 
 + 
 +==== Éditer le fichier contenant les cron ==== 
 + 
 +Pour éditer le fichier, dans une console en root, exécuter la commande suivante. 
 + 
 +<​code>​ 
 +# crontab -e 
 +</​code>​ 
 + 
 +==== Ajouter la tâche à exécuter ==== 
 + 
 +La ligne suivante et à copier puis à coller dans l'​éditeur de de crons. 
 + 
 +note : la sauvegarde sera lancé à 4H00 du matin. (on est rarement derrière son pc à 4H00 et cela évite les problèmes de changements d'​heures) 
 + 
 +<​code>​ 
 +0 4 * * * /​usr/​sbin/​invoke-rc.d rsync-backup stop 
 +</​code>​ 
 + 
 +==== Sauvegarder le fichier et quitter l'​éditeur de cron ==== 
 + 
 +ctrl+o suivi de ctrl+x 
 + 
 +===== Installer le lien vers le script d'​initialisation de type Système V ====
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
  
Ligne 379: Ligne 462:
 ===== Utilisation ===== ===== Utilisation =====
  
-voilà aux prochains arrêts la machine sera sauvegardée+Aux prochains arrêts ​ou si la machine n'est pas arrêtée, tous les jours à 4H00 du matin, ​la machine sera sauvegardée
 + 
 +==== Exécuter une sauvegarde manuellement ==== 
 + 
 +Dans une console root, exécuter la commande suivante. 
 + 
 +<​code>​ 
 +# invoke-rc.d rsync-backup stop 
 +</​code>​
  
 ==== Vérifier que la sauvegarde fonctionne ==== ==== Vérifier que la sauvegarde fonctionne ====
 +
 Dans une console root, exécuter la commande suivante. Dans une console root, exécuter la commande suivante.
  
Ligne 395: Ligne 487:
  
 ===== Désinstallation ===== ===== Désinstallation =====
 +
 Dans une console root, exécuter les commandes suivantes. Dans une console root, exécuter les commandes suivantes.
 +
 <​code>​ <​code>​
 # update-rc.d rsync-backup remove # update-rc.d rsync-backup remove
-# rm [[/​etc/​init.d/​rsync-backup.sh]] +# supprimer la tâche dans crontab 
-# rm [[/​etc/​rsync-backup-include]]+# crontab -e 
 +# rm /​etc/​init.d/​rsync-backup 
 +# rm /​etc/​rsync-backup-include 
 +# rm /​etc/​rsync-backup.conf 
 +# rm /​etc/​logrotate.d/​rsync-backup
 # rm /​var/​log/​rsync-backup.log # rm /​var/​log/​rsync-backup.log
 # apt-get purge rsync -y # apt-get purge rsync -y
 </​code>​ </​code>​
doc/systeme/rsync/backup.txt · Dernière modification: 23/08/2015 17:55 par milou

Pied de page des forums

Propulsé par FluxBB