Table des matières:
- Étape 1: Hypothèses
- Étape 2: Installer la sauvegarde Rdiff
- Étape 3: Identifiez les répertoires que vous souhaitez sauvegarder
- Étape 4: Automatiser
- Étape 5: Écrire une fonction
- Étape 6: Dites au script quels répertoires sauvegarder
- Étape 7: le tout ensemble maintenant
- Étape 8: ajouter à Cron
- Étape 9: Restaurer
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Cette instructable vous montrera comment exécuter un système de sauvegarde et de récupération simple et complet sur Linux à l'aide de rdiff-backup et d'une clé USB.
Étape 1: Hypothèses
Je vais supposer un système qui utilise yum pour l'installation et vous a monté une clé USB en tant que /mnt//backup. J'utilise fedora, mais vous pouvez utiliser n'importe quoi et installer simplement rdiff-backup comme vous le souhaitez. Il est également disponible en téléchargement ici:
Étape 2: Installer la sauvegarde Rdiff
Installez rdiff-backup[root@HOST scripts]# yum install rdiff-backup
Étape 3: Identifiez les répertoires que vous souhaitez sauvegarder
Vous pouvez sauvegarder l'ensemble du système, mais cela peut être excessif, je souhaite sauvegarder mon répertoire /etc/ pour toutes les modifications que j'ai pu apporter à named, sendmail, network, etc., /data et mes répertoires personnels.
Étape 4: Automatiser
Il est clair que vous ne voulez pas le faire à la main. Nous allons écrire un script. Première chose dans le script, nous allons vérifier si le lecteur USB est monté, et quitter si ce n'est pas le cas. #!/bin/bash#Script pour sauvegarder sur clé usbBACKUPBASE="/backups"#vérifier si la cible de sauvegarde est montée.if `df -h | grep $BACKUPBASE >/dev/null ` then echo "Starting $0 `date`" else echo "ERREUR: $BACKUPBASE non monté" echo "$0 exiting `date` " exit 1fi
Étape 5: Écrire une fonction
Ensuite, nous écrirons une fonction pour effectuer réellement la sauvegarde. function backup { DEST=$1$2 SOURCE=$2 echo "Src: $SOURCE" if [-d $DEST] then echo "Dest: $DEST" else mkdir -p $DEST echo "Dest: $DEST -created" OPTS=" --force" fi #Effectuer la sauvegarde rdiff-backup -v2 --exclude-special-files $OPTS $SOURCE $DEST #Nettoyer les fichiers de version de plus de 4 semaines rdiff-backup -v2 --remove-older-than 4W --force $ DEST #Imprimer un rapport de ce que nous avons sauvegardé et nettoyé rdiff-backup --list-changed-since 0D23h00m $DEST}
Étape 6: Dites au script quels répertoires sauvegarder
backup $BACKUPBASE /databackup $BACKUPBASE /etcbackup $BACKUPBASE /usr/localbackup $BACKUPBASE /home
Étape 7: le tout ensemble maintenant
#!/bin/bash#Script pour sauvegarder sur le lecteur usbBACKUPBASE="/backups"#Vérifiez si le lecteur de sauvegarde est monté. si `df -h | grep $BACKUPBASE >/dev/null `then echo "Starting $0 `date`" else echo "ERREUR: $BACKUPBASE non monté" echo "$0 exiting `date` " exit 1fifunction backup { DEST=$1$2 SOURCE=$2 echo "Src: $SOURCE" if [-d $DEST] then echo "Dest: $DEST" else mkdir -p $DEST echo "Dest: $DEST -created" OPTS="--force" fi #Effectuer la sauvegarde rdiff-backup -v2 --exclude-special-files $OPTS $SOURCE $DEST #Nettoyer les fichiers de version de plus de 4 semaines rdiff-backup -v2 --remove-older-than 4W --force $DEST #Imprimer un rapport de ce que nous avons sauvegardé et nettoyé rdiff-backup --list-changed-since 0D23h00m $DEST}backup $BACKUPBASE /databackup $BACKUPBASE /etcbackup $BACKUPBASE /usr/localbackup $BACKUPBASE /home
Étape 8: ajouter à Cron
[scripts root@HOST]# crontab -e10 1 * * * /usr/local/scripts/backup-rdiff.sh > /var/log/backup.log 2>&1
Étape 9: Restaurer
Pour restaurer la version la plus récente, vous pouvez simplement copier le fichier hors du répertoire de sauvegarde. Si vous voulez une version d'il y a 2 jours:rdiff-backup -r 2D /backup/etc/named.conf /etc/named.confSimple et très efficace.