Utilitaire backup2l restauration

Définition

backup2l

backup2l est un outil de ligne de commande pour créer et restaurer des sauvegardes sur un système de sauvegarde distant. Dans une installation par défaut, les sauvegardes sont créées de manière autonome par un script cron.

backup2l prend en charge les sauvegardes différentielles hiérarchiques avec un nombre de niveaux et de sauvegardes par niveau spécifié par l'utilisateur. Avec ce schéma, le nombre total d'archives à stocker augmente uniquement de façon logarithmique avec le nombre de sauvegardes différentielles depuis la dernière sauvegarde complète. Par conséquent, de petites sauvegardes incrémentielles peuvent être générées à intervalles rapprochés alors que les sauvegardes complètes consommant du temps et de l'espace ne sont que peu nécessaires.

La fonction de restauration permet de restaurer facilement l'état du système de fichiers ou des répertoires/fichiers arbitraires de points antérieurs. Les attributs de propriété et d'autorisation des fichiers et des répertoires sont correctement restaurés.

Une architecture de pilote ouverte permet d'utiliser pratiquement n'importe quel programme d'archivage en tant que backend. Les pilotes intégrés prennent en charge les fichiers .tar.gz, .tar.bz2 ou .afioz. D'autres pilotes définis par l'utilisateur peuvent être ajoutés, comme décrit dans le fichier de configuration fourni «first-time.conf».

Tous les fichiers de contrôle sont stockés avec les archives sur le système de sauvegarde distant, et leur contenu est généralement explicite. Par conséquent, en cas d'urgence, un utilisateur doit non seulement se fier à la fonctionnalité de restauration de backup2l, mais peut - si nécessaire - parcourir les fichiers et extraire les archives manuellement.

Pour décider si un fichier est nouveau ou modifié, backup2l examine son nom, l'heure de modification, la taille, la propriété et les autorisations.

Il est également possible d'effectuer des sauvegarde à chaud "Hot Copies", comme par exemple les des bases de données MySQL.

 

Procédure

Installer backup2l

Inclus en tant que package avec la plupart des distributions.

Pour installer backup2l sur votre machine local, une simple commande est nécéssaire.

$ apt-get install backup2l

 

Configurez backup2l

Créez ces deux dossiers de backup:

$ mkdir -p /var/backup.d/final
$ mkdir -p /var/backup.d/preliminary/mysql

Le dossier "final" contient les archives des backups effectués et le dossier premilinary contient les backups effectuées à chaud "hot copies".

Editez le fichier de configuration de backup2, par exemple avec l'éditeur de texte nano:

$ nano /etc/backup2l.conf

A la ligne:

SRCLIST=(/var/www/mondomaine.fr /var/backup.d/preliminary)

Choissisez les dossiers que vous voulez sauvegarder. Dans cet exemple, les dossiers sauvegardés seront: /var/www/mondomaine.fr et /var/backup.d/preliminary qui contient les backups faites à chaud "hot copies"

SKIPCOND=(-path "/var/www/mondomaine.fr/log/*")

L'espace sur la cible de sauvegarde étant pour la plupart limité, vous devez exclure les répertoires plus volumineux et les fichiers qui n'ont pas vraiment besoin d'être sauvegardés comme par exemple, les fichiers de log associé à votre site web.

BACKUP_DIR="/var/backup.d/final"

La sauvegarde est configurée dans ce répertoire. Les fichiers ici sont ensuite transférés au serveur de sauvegarde. Si nécessaire, les fichiers peuvent également être chiffrés.

MAX_LEVEL=1
MAX_PER_LEVEL=9
MAX_FULL=1
GENERATIONS=1
CREATE_CHECK_FILE=1

Cette configuration permet d'obtenir une sauvegarde complète et 9 incrémentiels. Si une nouvelle sauvegarde incrémentielle doit être effectuée chaque semaine, max_per_level doit être défini sur 6. Une sauvegarde complète et les incrémentiels sont toujours nécessaires pour une restauration.

PRE_BACKUP ()
{
  echo "start pre backup scripts"

  sh /root/backup/hotcopy_mysql.sh
  chmod -R u=rw,go-rwx /var/backup.d/preliminary/*

  echo "pre backup scripts completed"

}

 

POST_BACKUP ()
{
  echo "Executing post backup actions."

  chown -R root:backup /var/backup.d/final
  chmod -R u=rw,g=r /var/backup.d/final/*

  sh /root/backup/scp.sh

  echo "The backup has been completed."
  echo "----------------------------------------------"
}

Ces fonctions sont implémentées avant et/ou après les sauvegardes.

Dans cette partie, la fonction "PRE_BACKUP()" s'exécute avant la backup et la fonction "POST_BACKUP()" s'exécute après la backup. Le script bash d'upload de la backup /root/backup/scp.sh est applé dans le fonction "POST_BACKUP()".

 

Votre fichier backup2l.conf est désormais configuré, pour que backup2l puisse prendre en compte votre configuration, editez cette directive comme ci dessous:

UNCONFIGURED=0

 

Faire des copies chaudes "hot copies"

Certains fichiers ne peuvent pas simplement être sauvegardés par copie, car ils sont constamment accessibles. Par exemple, les bases de données MySQL.

  • MySQL
$ nano /root/backup/hotcopy_mysql.sh

Ici, le programme "mysqldump" est utilisé pour effectuer des sauvegardes de données de nos bases de données MySQL.

#!/bin/sh

# Removing old dumps and creating directory
rm /var/backup.d/preliminary/mysql/alldb.sql.gz

mysqldump --user=root --password=XXXXX --all-databases --skip-lock-tables | gzip > /var/backup.d/preliminary/mysql/alldb.sql.gz

 

Mise en place de la tâche cron

Pour cela, configurez le fichier /etc/cron.daily/zz-backup2l avec le contenu suivant (ce fichier a peut-être déjà été configuré lors de l'installation de backup2l)

#!/bin/bash

# The following command invokes 'backup2l' with the default configuration
# file (/etc/backup2l.conf).
#
# (Re)move it or this entire script if you do not want automatic backups.
#
# Redirect its output if you do not want automatic e-mails after each backup.

! which backup2l > /dev/null || nice -n 19 backup2l -b

 

Transfert de fichier

Il y a généralement deux possibilités pour récupérer les fichiers sur le serveur de sauvegarde. La première option, la plus plausible, consiste à copier depuis le serveur sur lequel la sauvegarde a été effectuée vers le serveur cible (serveur de sauvegarde): Push Data. Cela pourrait être fait en utilisant scp par exemple. La deuxième option est les données du serveur de sauvegarde, à nouveau avec scp: Pull Data. La dernière option est à mon avis préférable car un pirate ne peut pas simplement accéder aux sauvegardes.

Pour les deux options, je recommande d'utiliser scp, car le serveur de sauvegarde a probablement un login SSH de toute façon et les performances ne devraient pas être un facteur avec une copie unique la nuit. De plus, la transmission est chiffrée. Vous pouvez également utiliser rsync.

Les fichiers peuvent également être chiffrée avec gpg et transmis uniquement chiffrée. Les données du serveur de sauvegarde sont alors protégées des tiers non autorisés. La clé de déchiffrement ne doit pas être laissée sur un serveur mais copiée localement sur un support de stockage amovible tel qu'une clé USB.

Créez une clé SSH et attachez-la sur le serveur de sauvegarde, je vous invite à suivre cette documentation pour l'ajout d'une clé SSH sur le serveur de sauvegarde.

$ ssh-keygen -b 4096 -t rsa

Ensuite, créez un script bash de sauvegarde dans /root/backup

$ nano /root/backup/scp.sh

Afin d'agencer les commandes, l'utilsateur de la formule "rsyncscpdrive" sous le nom cdXXXX sera utilisé à titre d'exemple.

#!/bin/bash

SOURCE_DIRECTORY=/var/backup.d/final
USER=cdXXXX
TARGET_DIRECTORY=/files
SERVER=rs1.cloudlws.com

scp ${SOURCE_DIRECTORY}/* ${USER}@${SERVER}:${TARGET_DIRECTORY}

Récapitulatif des formules LWS Cloud Drive disponibles, ainsi que leurs prix HT:

Tarification mensuelle des formules Cloud Drive :
Cloud Drive S
Cloud Drive M
Cloud Drive L
Cloud Drive XL
100Go 250 Go 500Go 1To
4.99€* 9.99€* 14.99€* 19.99€*

*Prix HT

Avec le suivi de cette documentation, vous êtes ainsi en mesure d'utiliser l'utilitaire backup2l pour effectuer vos restaurations de données. 
Vous pouvez consulter nos différentes offres de sauvegarde en ligne sur notre site de vente

 

Notez cet article


Vous avez noté 0 étoile(s)

Cet article vous a-t-il été utile ?

Merci !

N'hésitez pas à commenter nos pages afin de nous aider à les améliorer si besoin.

Vous n'avez pas trouvé votre réponse ?

Envoyez nous un message afin d'avoir une réponse rapidement



Top