Rate this article :
This article was useful to you ?
Yes
No
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Lorsque vous travaillez dans avec un matériel informatique, vous devez effectuer une sauvegarde régulière.
Cette sauvegarde vous permettra de retourner à un état stable de votre machine ou de votre site web.
Dans ce tutoriel nous allons voir comment automatiser manuellement la sauvegarde de votre serveur.
Si cette opération est trop complexe pour vous, vous pouvez ouvrir une infogérance afin que nous mettions en place cette sauvegarde.
Voici quelques exemples de scripts qui vous permettront de sauvegarder facilement tous les documents stockés sur votre serveur VPS :
1. Sauvegarde simple
Attention, cet exemple n'efface pas vos anciennes backups. Il est conseillé de vérifier l'espace disque disponible sur votre solution de backup.
Attention, ce script nécéssite d'avoir de la place disponible sur votre serveur VPS. Un espace libre égal à la place prise par les dossiers que vous souhaitez sauvegarder est conseillé.
Ce premier exemple est une solution de sauvegarde de votre VPS simple. Elle se base sur les programmes tar (archivage) et ncftp (client ftp).
La sauvegarde simple est assez lente s'il y a beaucoup de fichiers à sauvegarder. Elle consomme, de plus, beaucoup d'espace sur le serveur FTP par rapport à d'autres solutions.
La restauration est simple, il suffit d'appliquer la dernière sauvegarde.
Le programme tar est installé de base sur la plupart des distributions. Le programme ncftp n'est généralement pas installé par défaut. Voici les instructions pour installer ncftp:
apt-get install ncftp
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/ncftp-3.2.2-1.el5.i386.rpm
Copiez et enregistrez le contenu suivant dans le fichier /root/backup.sh sur votre serveur.
#!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ## ## Example de Script de sauvegarde ## ## LWS ( http://lws.fr/ ) ## ## ## Configuration ## # Répertoire a sauvegarder REPERTOIRES="/var /home" # Parametre FTP FTP_SERVEUR="192.168.2.242" FTP_UTILISATEUR="client_ftp" FTP_PASSWORD="123456" FTP_REPERTOIRE="/backup/" ## ## Parametrage des applications ## # backup REPERTOIRE_BACKUP="/tmp/backup/" BACKUP="backup.tar.gz" # tar TAR_OPTIONS="--exclude=$REPERTOIRE_BACKUP --exclude=/dev --exclude=/proc --exclude=/sys" # date DATE=$(date +"%Y-%m-%d") ## ## Creation de la sauvegarde ## mkdir -p ${REPERTOIRE_BACKUP} mkdir -p /var/backup/ tar ${TAR_OPTIONS} -zcvf ${REPERTOIRE_BACKUP}/${BACKUP} $REPERTOIRES ## ## Envoi de la sauvegarde ## ncftp -u"$FTP_UTILISATEUR" -p"$FTP_PASSWORD" $FTP_SERVEUR < mkdir $FTP_REPERTOIRE mkdir $FTP_REPERTOIRE/$DATE cd $FTP_REPERTOIRE/$DATE lcd $REPERTOIRE_BACKUP mput * quit EOF rm -rf $REPERTOIRE_BACKUP
La variable REPERTOIRES contient le chemin d'accès des répertoires à sauvegarder. Les répertoires /var et /home sont généralement les deux répertoires contenant des données utilisateurs.
# Répertoire a sauvegarder REPERTOIRES="/var /home"
Les variables FTP_ contiennent les paramètres de connexions à votre compte FTP de backup. FTP_REPERTOIRE est le répertoire où seront sauvegardé vos backup sur votre compte FTP.
# Parametre FTP FTP_SERVEUR="192.168.1.250" FTP_UTILISATEUR="client_ftp" FTP_PASSWORD="12345678" FTP_REPERTOIRE="/backup/"
Rendez exécutable le script backup.sh :
chmod +x /root/backup.sh
Puis ajoutez une entrée dans les tâches cron :
crontab -e
Si vous désirez réaliser une sauvegarde tous les jours à 3 heures du matin, ajoutez l'entrée suivante :
0 3 * * * /root/backup.sh >/dev/null 2>&1
Si vous désirez réaliser une sauvegarde tous les dimanches à 3 heures du matin, ajoutez l'entrée suivante :
0 3 * * 0 /root/backup.sh >/dev/null 2>&1
2. Sauvegarde incrémentale
Attention, cet exemple n'efface pas vos anciennes backups. Il est conseillé de vérifier l'espace disque disponible sur votre solution de backup.
Attention, ce script nécéssite d'avoir de la place disponible sur votre serveur VPS. Un espace libre égal à la place prise par les dossiers que vous souhaitez sauvegarder est conseillé.
L'exemple 2 reprend l'exemple 1 mais y ajoute la sauvegarde incrémentale.
La sauvegarde incrémentale ne sauvegarde que les fichiers modifiés après avoir réalisé une sauvegarde complète. Il est conseillé de réaliser une sauvegarde complète de temps en temps.
Cette solution permet d'avoir des sauvegardes régulièrement à jour tout en consommant moins d'espace que des sauvegardes complètes aussi régulières. Les sauvegardes incrémentales sont aussi plus rapides.
Toutefois, la restauration est plus compliquée. En effet, il est nécessaire, en cas de restauration, d'appliquer la dernière sauvegarde complète puis toutes les sauvegardes incrémentales depuis cette dernière sauvegarde complète.
Dans cet exemple, nous effectuerons une sauvegarde complète le premier dimanche de chaques mois puis des sauvegardes incrémentales chaque jour.
Reprenez l'exemple 1 excepté la partie concernant les tâches cron.
Editez le fichier /root/backup.sh et modifiez le paramètre TAR_OPTIONS comme ceci :
# tar TAR_OPTIONS="-g /var/backup/incremental_tar.data --exclude=/var/backup/ --exclude=$REPERTOIRE_BACKUP --exclude=/dev --exclude=/proc --exclude=/sys"
Ajoutez ensuite deux entrées dans votre liste de tâches cron :
crontab -e
La premiere entrée réalise les sauvegardes chaques jour à 3 heures du matin :
0 3 * * * /root/backup.sh >/dev/null 2>&1
La seconde entrée effacera le fichier /var/backup/incremental_tar.data le premier dimanche de chaque mois. Le programme tar réalisant la sauvegarde ne connaitra plus les fichiers déjà sauvegardés et réalisera alors une nouvelle sauvegarde complète.
0 2 1-7 * 0 rm -rf /var/backup/incremental_tar.data
Rate this article :
This article was useful to you ?
Yes
No
3mn reading
Comment déclencher une infogérance ?
0mn reading
Contacter le support technique par mail
0mn reading
Comment restaurer une sauvegarde de mon serveur dédié VPS ?