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 | ||
doc:systeme:rsync:backup [07/07/2013 13:40] gksam [Sauvegarde incrémentielle avec rsync] |
doc:systeme:rsync:backup [22/09/2013 23:31] 127.0.0.1 modification externe |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Tags : {{tag>en-chantier à-tester à-placer}} | Tags : {{tag>en-chantier à-tester à-placer}} | ||
- | (//testé // - **gksam** 07-07-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]] | ||
Ligne 13: | 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 58: | 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 69: | 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 94: | 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 120: | 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 130: | Ligne 136: | ||
# supprimer les anciennes sauvegarde | # supprimer les anciennes sauvegarde | ||
- | find $point_montage/$nom_hote/increment/* -maxdepth 0 -type d -ctime +$nb_jours -exec rm -rf {} \; || return 4 | + | find $point_montage/$nom_hote/increment/ -mindepth 1 -maxdepth 1 -type d -ctime +$nb_jours -exec rm -rf {} \; |
return 0 | return 0 | ||
Ligne 199: | 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 420: | Ligne 421: | ||
</file> | </file> | ||
+ | |||
+ | ==== Sauvegarder le fichier et quitter l'éditeur de texte ==== | ||
+ | |||
+ | ctrl+o suivi de ctrl+x | ||
+ | |||
+ | ===== 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 ===== | ===== Installer le lien vers le script d'initialisation de type Système V ===== | ||
Ligne 433: | 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 449: | 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> |