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 [22/06/2013 19:55] gksam [Introduction] |
doc:systeme:rsync:backup [23/08/2015 17:52] milou [Ajouter le lancement automatique de la sauvegarde (cron)] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Sauvegarde incrémentielle avec rsync ====== | + | ====== rsync ====== |
- | (//testé - non testé// - **gksam** 20-06-2013) Le retour sur le forum est ici : [[//url// | Lien vers le forum concernant ce tuto]] | + | * Objet : rsync, la sauvegarde incrémentielle. |
- | N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs ! | + | * Niveau requis : {{tag>débutant}} |
- | ajout prévu : | + | * Commentaires : //sauvegarder les dossiers et fichiers à l'arrêt d'une machine; envoiyer des mails locaux en cas d'erreur.// |
- | logrotate du fichier de log /var/log/rsync-backup.log | + | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) |
- | crontab de la sauvegarde | + | * Suivi :{{tag>à-tester}} |
- | + | * Création par [[user>gksam]] le 22/06/2013 | |
- | * Objet : Sauvegarder les dossiers et fichier d'une machine | + | * Testé par ... le ... |
- | * Niveau requis : DÉBUTANT(E) | + | * 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 !)) |
- | * Tags : {{tag>en-chantier à-tester à-placer}} | + | |
- | * Commentaires : //Contexte d'utilisation du sujet du tuto. // | + | |
- | * 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/ | ||
- | ├── machine2 | + | ├── machine1 |
│ ├── increment | │ ├── increment | ||
│ │ ├── 130612 | │ │ ├── 130612 | ||
Ligne 41: | Ligne 38: | ||
│ ├── root | │ ├── root | ||
│ └── var | │ └── var | ||
- | </file> | + | </code> |
+ | |||
+ | L'architecture du dossier de sauvegarde est décrite ci-dessus. | ||
+ | |||
+ | Les dossiers //up-to-date// contiennent la dernière sauvegarde. | ||
+ | |||
+ | Les dossiers //increment// contiennent eux les fichiers et dossiers qui ont été supprimés, dé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-date//; donc, attention | ||
+ | à l'espace disque. | ||
===== Installation ===== | ===== Installation ===== | ||
===== 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, éxé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, éxé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> |
- | # aptitude 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, éxé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, éxé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, éxé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. | ||
- | note : | + | |
- | <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 90: | Ligne 86: | ||
# Short-Description: Sauvegarde du système. | # Short-Description: Sauvegarde du système. | ||
### END INIT INFO | ### END INIT INFO | ||
+ | |||
+ | envoyer_mail () { | ||
+ | |||
+ | echo "$1" | mail -s "[error] [`hostname`] [$NAME]" $USER | ||
+ | |||
+ | return 0 | ||
+ | } | ||
do_stop () { | do_stop () { | ||
Ligne 95: | Ligne 98: | ||
# initialiser les variables | # initialiser les variables | ||
local nom_hote=`hostname` | local nom_hote=`hostname` | ||
- | local point_montage='/mnt/sauvegarde' | ||
- | local local nb_jours=10 | ||
- | |||
- | logger "rsync-backup: début de la sauvegarde de la machine" | ||
- | echo "rsync-backup: sauvegarde de la machine..." | ||
# vérifier que le point de montage est monté | # vérifier que le point de montage est monté | ||
- | /bin/mountpoint -q $point_montage | + | # si le point de montage est un dossier et qu'il est monté alors continuer sinon retourner 1 |
+ | [ -d $point_montage ] && ( /bin/mountpoint -q $point_montage || return 1 ) | ||
- | # si le point de montage n'est pas monté alors | + | # tester si l'on peut écrire dans le dossier du point de montage |
- | if [ $? -ne 0 ] ; then | + | # retourner 2 en cas d'échec |
+ | [ ! -w $point_montage ] && return 2; | ||
- | # monter le point de montage | + | # si le dossier up-to-date n'existe pas alors créer le dossier up-to-date |
- | /bin/mount $point_montage | + | [ ! -d $point_montage/$nom_hote/up-to-date ] && mkdir -p $point_montage/$nom_hote/up-to-date |
- | # vérifier que le point de montage est monté | + | # si le dossier increment n'existe pas alors créer le dossier increment |
- | /bin/mountpoint -q $point_montage | + | [ ! -d $point_montage/$nom_hote/increment ] && mkdir -p $point_montage/$nom_hote/increment |
- | # si le point de montage n'est toujours pas monté alors logger l'erreur et sortir | + | # exécuter la commande rsync de sauvegarde |
- | if [ $? -ne 0 ] ; then | + | |
- | + | ||
- | logger "rsync-backup: point de montage $point_montage n'est pas monté" | + | |
- | logger "rsync-backup: sauvegarde du système impossible" | + | |
- | echo "[err] rsync-backup: sauvegarde impossible. problème de point de montage" | + | |
- | return 1 | + | |
- | fi | + | |
- | fi | + | |
- | + | ||
- | # éxécuter la commande de sauvegarde | + | |
- | logger "rsync-backup: point de montage ok. éxecution de la commande de sauvegarde." | + | |
/usr/bin/rsync --human-readable \ | /usr/bin/rsync --human-readable \ | ||
--recursive --links --perms --times --delete-after \ | --recursive --links --perms --times --delete-after \ | ||
--log-file=/var/log/rsync-backup.log \ | --log-file=/var/log/rsync-backup.log \ | ||
- | --backup --backup-dir=../increment/`date +%y%m%d`/ \ | + | --backup --backup-dir=$point_montage/$nom_hote/increment/`date +%y%m%d`/ \ |
- | --exclude-from=/etc/gk-backup-include --exclude='**' \ | + | --exclude-from=$rsync_backup_include --exclude='**' \ |
- | / $point_montage/$nom_hote/up-to-date/ && logger "rsync-backup: sauvegarde effectuée." | + | / $point_montage/$nom_hote/up-to-date/ || return 3 |
- | # supprimer les anciennes sauvegarde (10 jours) | + | # supprimer les anciennes sauvegarde |
- | logger "rsync-backup: suppression des anciennes sauvegarde" | + | find $point_montage/$nom_hote/increment/ -mindepth 1 -maxdepth 1 -type d -ctime +$nb_jours -exec rm -rf {} \; |
- | + | ||
- | # suppimer les dossiers dans le dossier increment dont la date est supperieur | + | |
- | find $point_montage/$nom_hote/increment/* -maxdepth 0 -type d -ctime +$nb_jours -exec rm -rf {} \; | + | |
- | + | ||
- | logger "rsync-backup: fin de la sauvegarde de la machine" | + | |
- | echo "[ok] rsync-backup: sauvegarde terminée." | + | |
return 0 | return 0 | ||
} | } | ||
+ | |||
+ | PATH=/sbin:/usr/sbin:/bin:/usr/bin | ||
+ | DESC="Description of the service" | ||
+ | NAME=rsync-backup | ||
+ | SCRIPTNAME=/etc/init.d/$NAME | ||
+ | rsync_backup_conf='/etc/rsync-backup.conf' | ||
+ | rsync_backup_include='/etc/rsync-backup-include' | ||
+ | point_montage='' | ||
+ | nb_jours=30 | ||
+ | |||
+ | # lire la librairie init-functions | ||
+ | . /lib/lsb/init-functions | ||
+ | |||
+ | # lire le fichier rsync-backup.conf s'il est lisible | ||
+ | # exit 1 en cas d'échec | ||
+ | if [ -r $rsync_backup_conf ] ; then | ||
+ | |||
+ | . $rsync_backup_conf | ||
+ | else | ||
+ | |||
+ | log_failure_msg $NAME": " "le fichier $rsync_backup_conf n'est pas lisible" | ||
+ | |||
+ | envoyer_mail "le fichier $rsync_backup_conf n'est pas lisible" | ||
+ | |||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | # tester si le fichier rsync-backup-include est lisible | ||
+ | # exit 1 en cas d'échec | ||
+ | if [ ! -r $rsync_backup_include ] ; then | ||
+ | |||
+ | log_failure_msg $NAME": " "le fichier $rsync_backup_include n'est pas lisible" | ||
+ | |||
+ | envoyer_mail "le fichier $rsync_backup_include n'est pas lisible" | ||
+ | |||
+ | exit 1 | ||
+ | fi | ||
case "$1" in | case "$1" in | ||
- | stop) | + | |
- | do_stop | + | stop) |
- | exit $? | + | log_daemon_msg $NAME "sauvegarde de la machine..." |
- | ;; | + | |
- | *) | + | # exécuter la méthode do_stop |
- | echo "Usage: $0 stop" >&2 | + | do_stop |
- | exit 3 | + | |
- | ;; | + | # en fonction du résultat afficher le message de fin |
+ | case "$?" in | ||
+ | 0) log_end_msg 0 | ||
+ | exit 0 | ||
+ | ;; | ||
+ | |||
+ | 1) log_end_msg 1 | ||
+ | envoyer_mail "impossible de monter le point de montage $point_montage" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | |||
+ | 2) log_end_msg 1 | ||
+ | envoyer_mail "ne peut pas écrire dans dossier du point de montage $point_montage" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | |||
+ | 3) log_end_msg 1 | ||
+ | envoyer_mail "échec de la commande rsync" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | ;; | ||
+ | |||
+ | *) | ||
+ | echo "Usage: $0 stop" >&2 | ||
+ | exit 3 | ||
+ | ;; | ||
esac | esac | ||
+ | </code> | ||
- | </file> | + | ==== Sauvegarder le fichier et quitter l'éditeur de texte ==== |
+ | <key>C-o</key> suivi de <key>C-x</key> | ||
- | ==== Modifier les variables pour qu'elle corresponde à votre système ==== | + | ===== Créer le script de configuration ===== |
- | cette variable permet de sélectionner le point de montage où sera copier la sauvegarde | + | ==== Créer le fichier rsync-backup.conf dans le dossier /etc/ ==== |
- | local point_montage='/mnt/sauvegarde' | + | Dans une console en root, exécuter la commande suivante. |
- | cette variable permet de choisir combien de jours il faut garder les incréments | + | <code root>touch /etc/rsync-backup.conf</code> |
- | local local nb_jours=10 | + | ==== Modifier les droits du fichier rsync-backup.conf pour qu'il devienne exécutable ==== |
+ | |||
+ | Dans une console root, exécuter la commande suivante. | ||
+ | |||
+ | <code root>chmod 644 /etc/rsync-backup.conf</code> | ||
+ | |||
+ | ==== Copier le contenu du fichier rsync-backup.conf ==== | ||
+ | |||
+ | Pour éditer le fichier, dans une console en root, exécuter la commande suivante. | ||
+ | |||
+ | <code root>nano /etc/rsync-backup.conf</code> | ||
+ | |||
+ | Copier le contenu suivant. | ||
+ | <code ini /etc/rsync-backup.conf> | ||
+ | # le point de montage doit être monté | ||
+ | point_montage='/mnt/sauvegarde' | ||
+ | nb_jours=10 | ||
+ | </code> | ||
==== 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> |
===== 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 175: | Ligne 240: | ||
==== 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, éxécuter la commande suivante. | + | |
- | <code> | + | Dans une console en root, exécuter la commande suivante. |
- | # touch /etc/rsync-backup-include | + | |
- | </code> | + | <code root>touch /etc/rsync-backup-include</code> |
==== Modifier les droits du fichier rsync-backup-include ==== | ==== Modifier les droits du fichier rsync-backup-include ==== | ||
- | Dans une console root, éxécuter la commande suivante. | + | |
- | <code> | + | Dans une console root, exécuter la commande suivante. |
- | # chmod 644 /etc/rsync-backup-include | + | |
- | </code> | + | <code root>chmod 644 /etc/rsync-backup-include</code> |
==== 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, éxécuter la commande suivante. | + | |
- | <code> | + | Pour éditer le fichier, dans une console en root, exécuter la commande suivante. |
- | # nano /etc/rsync-backup-include | + | |
- | </code> | + | <code root>nano /etc/rsync-backup-include</code> |
Copier le contenu suivant. | Copier le contenu suivant. | ||
- | note : | + | <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. |
- | - /bin/ | + | # (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) |
- | - /boot/ | + | # à la visite d'un dossier, penser à exclure ce que l'on ne veut pas sauvegarder avant de mettre la règle contenant les * |
- | - /dev/ | + | # + [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 226: | Ligne 305: | ||
- /home/*/.macromedia/ | - /home/*/.macromedia/ | ||
- /home/*/.mozilla/ | - /home/*/.mozilla/ | ||
+ | - /home/*/.pulse/ | ||
- /home/*/.pulse-cookie | - /home/*/.pulse-cookie | ||
- /home/*/.recently-used | - /home/*/.recently-used | ||
Ligne 233: | Ligne 313: | ||
- /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 | ||
- | - .git/ | ||
- | - *~ | ||
- | </file> | + | # sauvegarder le dossier mail |
+ | #+ /var/ | ||
+ | #+ /var/spool/ | ||
+ | + /var/spool/mail/ | ||
+ | + /var/spool/mail/** | ||
+ | |||
+ | # exclure tout (comme ça on est sûr) | ||
+ | - ** | ||
+ | </code> | ||
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 | ||
- | Cette partie est la plus compliquée. En gros, mettre un # (commenter une ligne permet de sauvegarder un dossier et ses sous dossiers. | + | ==== Sauvegarder le fichier et quitter l'éditeur de texte ==== |
+ | |||
+ | <key>C-o</key> suivi de <key>C-x</key> | ||
+ | |||
+ | ===== 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 root>touch /etc/logrotate.d/rsync-backup</code> | ||
+ | |||
+ | ==== Modifier les droits du fichier rsync-backup ==== | ||
+ | |||
+ | Dans une console root, exécuter la commande suivante. | ||
+ | |||
+ | <code root>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 root>nano /etc/logrotate.d/rsync-backup</code> | ||
+ | |||
+ | Copier le contenu suivant. | ||
+ | <code ini /etc/logrotate.d/rsync-backup> | ||
+ | /var/log/rsync-backup.log { | ||
+ | |||
+ | compress | ||
+ | copytruncate | ||
+ | delaycompress | ||
+ | missingok | ||
+ | notifempty | ||
+ | weekly | ||
+ | } | ||
+ | </code> | ||
==== Sauvegarder le fichier et quitter l'éditeur de texte ==== | ==== Sauvegarder le fichier et quitter l'éditeur de texte ==== | ||
- | ctrl+o suivi de ctrl+x | ||
- | ==== Installer le lien vers le script d'initialisation de type Système V ==== | + | <key>C-o</key> suivi de <key>C-x</key> |
- | Dans une console root, éxécuter la commande suivante. | + | |
- | 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) | + | ===== 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 root>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> | <code> | ||
- | # update-rc.d rsync-backup stop 0 | + | 0 4 * * * /usr/sbin/invoke-rc.d rsync-backup stop |
</code> | </code> | ||
+ | |||
+ | ==== Sauvegarder le fichier et quitter l'éditeur de cron ==== | ||
+ | <key>C-o</key> suivi de <key>C-x</key> | ||
+ | |||
+ | ===== Installer le lien vers le script d'initialisation de type Système V ===== | ||
+ | |||
+ | Dans une console root, exécuter la commande suivante. | ||
+ | |||
+ | 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 root>update-rc.d rsync-backup stop 0</code> | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
- | voilà au prochain arrêt 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 root>invoke-rc.d rsync-backup stop</code> | ||
==== Vérifier que la sauvegarde fonctionne ==== | ==== Vérifier que la sauvegarde fonctionne ==== | ||
- | sudo grep 'rsync-backup:' /var/log/syslog | + | |
+ | Dans une console root, exécuter la commande suivante. | ||
+ | |||
+ | <code root>grep 'rsync-backup:' /var/log/syslog</code> | ||
==== Afficher ce qui est sauvegardé ==== | ==== Afficher ce qui est sauvegardé ==== | ||
- | cat [[/var/log/rsync-backup.log]] | + | Dans une console, exécuter la commande suivante. |
+ | <code user>cat /var/log/rsync-backup.log</code> | ||
===== Désinstallation ===== | ===== Désinstallation ===== | ||
- | Dans une console root, éxécuter les commandes suivantes. | ||
- | <code> | ||
- | # update-rc.d rsync-backup remove | ||
- | # rm [[/etc/init.d/rsync-backup.sh]] | ||
- | # rm [[/etc/rsync-backup-include]] | ||
- | # rm /var/log/rsync-backup.log | ||
- | # aptitude --purge rsync -y | ||
- | </code> | ||
+ | Dans une console root, exécuter les commandes suivantes. | ||
+ | <code root> | ||
+ | update-rc.d rsync-backup remove | ||
+ | crontab -e (supprimer la tâche dans crontab) | ||
+ | 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 | ||
+ | apt-get purge rsync -y | ||
+ | </code> |