Vote utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 

La première des choses à faire quand on s'intérresse à la sécurité informatique est de s'assurer de la bonne sauvegarde du système à protéger.

L'outils idéal pour sauvegarder une arborescence est rsync.

 

rsync, est un logiciel de synchronisation de fichiers généralement intégré à Linux. Il est généralement utilisé pour mettre en place des systèmes de sauvegarde locales ou distantes.
rsync synchronise, copie ou actualise les données d'une source (locale ou distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés.

De plus, il peut aussi ne pas supprimer sur la destination les fichiers supprimés sur la source pour plus de sécurité.

 

1 : Utilisation de rsync pour sauvegarder sur un jeu de disques dur externes.

Voici un petit exemple de script bash pour sauvegarder un serveur OpenMediaVault sur un disque USB externe.

Notez que par défaut il ne supprime pas les fichiers effacés de la source (l'option --del). J'active la ligne qui le fait seulement un fois par trimestre.

Le nom du script est backup.sh, et dans cet exemple, il est configuré pour sauvegarder un serveur nommé POSEIDON

Le répertoire racine du disque dur externe doit comporter au moins :

- un dossier du nom correspondant à la valeur que vous affecterez à la variable DESTINATION_DIR

- un fichier texte permettant d'identifier "CE" disque parmis l'ensemble des disques externes affectés à la sauvegarde de ce serveur. Le début du nom de ce fichier texte doit correspondre au contenu que vous avez affecté à la variable DISK_ID

ex: contenu du troisième disque de sauvegarde :

 

#!/bin/sh
# initialisation des variables
BACKUP_DEVICE=/dev/sdd1
BACKUP_MOUNT_POINT=/media/SAV
DISK_ID=POSEIDON-
SOURCE_DIR=/media/dd64fc64-4a0f-4196-8a24-94bae729e6ee/
DESTINATION_DIR=/POSEIDON-SAV/

# creer le fichier de log s'il n'existe pas
touch /var/log/backup.log
# montage du disque externe, formaté en NTFS dans ce cas
mount -t ntfs $BACKUP_DEVICE $BACKUP_MOUNT_POINT
# pause le temps que le montage se termine tranquillement
sleep   5
echo "debut : `date`" > /var/log/backup.log.1
# contrôle que ce soit bien un des disques affectés à la sauvegarde de ce serveur
if [ ! -f $BACKUP_MOUNT_POINT/$DISK_ID*.txt ]; then
    echo "mauvais disque" >> /var/log/backup.log.1
else
    # inscription dans le journal de l'ID du disque externe.
    ls $BACKUP_MOUNT_POINT/$DISK_ID*.txt >> /var/log/backup.log.1
    # sauvegarde : choisir l'une ou l'autre de ces 2 lignes en fonction des besoins
    rsync -a       --stats $SOURCE_DIR $BACKUP_MOUNT_POINT$DESTINATION_DIR > /var/log/backup.log.2
 # rsync -a --del --stats $SOURCE_DIR $BACKUP_MOUNT_POINT$DESTINATION_DIR > /var/log/backup.log.2
    echo "fin     : `date`" >> /var/log/backup.log.1
    echo "." >> /var/log/backup.log.1
    df -h $BACKUP_MOUNT_POINT >> /var/log/backup.log.1
    echo "Backup terminé, le disque externe peut être déconnecté." >> /var/log/backup.log.1
fi
echo "-------------------------------------------------------" >> /var/log/backup.log.1
cat /var/log/backup.log.1 >> /var/log/backup.log
# vidage des tampons disques
sync
sync
sleep 10
# demontage du disque externe
umount $BACKUP_DEVICE

# envoi des mini journaux par mail aux intérressés
MAILADDR=Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Mail -s "Poseidon Backup Report" $MAILADDR < /var/log/backup.log.1
Mail -s "Poseidon Backup Files" $MAILADDR < /var/log/backup.log.2
MAILADDR=Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Mail -s "Poseidon Backup Report" $MAILADDR < /var/log/backup.log.1

 

 a suivre......