Rate this article :
This article was useful to you ?
Yes
No
Vous avez noté 0 étoile(s)
Sommaire
Procédure
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.
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
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
Certains fichiers ne peuvent pas simplement être sauvegardés par copie, car ils sont constamment accessibles. Par exemple, les bases de données 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
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
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:
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.
Rate this article :
This article was useful to you ?
Yes
No
2mn reading
Comment ajouter une clé RSA sur le service Rsync SCP drive?
1mn reading
Comment utiliser Rsync pour sauvegarder un site web Ispconfig ?
1mn reading
Comment faire un script de sauvegarde distante avec Rsync ?
0mn reading
Comment faire une sauvegarde de son site avec LWS Drive ?