Publication : 2015.11.06
Catégorie : Outils
Tags: outils bash shellscript
Ce script permet de réaliser des sauvegardes incrémentales d’un système de
fichiers Unix local ou distant . Les fichiers sont identiques d’une sauvegarde à
l’autre ne sont pas dupliqués. Ils sont liées entre eux par leur inodes
minimisant ainsi l’espace disque nécessaire.
Il permet également de sauvegarder des bases de données MySQL.
Il s’appuie sur rsync
pour la copie des fichiers et sur ssh
pour réaliser
la sauvegarde des bases de données.
Téléchargement
Les fichiers suivants sont nécessaires :
Configuration
La configuration est contenue dans le fichier
configuration.txt qui défini les variables suivantes :
REMOTE_HOST
: si vous souhaitez faire une sauvegarde sur un site distant, préciser l’adresse sous la forme login@host
, sinon pour faire une sauvegarde locale, mettez localhost
,
WHAT_TO_SAVE
: la liste des répertoires ou des fichiers à sauvegarder, séparés par des espaces,
DESTINATION
: le répertoire où seront copiés les fichiers,
EXCLUSION
: un fichier contenant une liste de fichiers à exclures,
DATABASE_OPTIONS
: les options nécessaires pour sauvegarder vos bases MySQL (à minima, probablement -u login -p password
) ou NONE
si vous ne souhaitez pas de sauvegarde.
Attention au format, il ne doit pas y avoir d’espaces entre le nom de variable, sa valeur et le signe =
. Voici un exemple de fichier de configuration :
REMOTE_HOST = root@xael.org
WHAT_TO_SAVE = /usr/local/ /etc/ /zBackups/ /home/
DESTINATION = /BigDisk/Backups/xael.org/vps
EXCLUSION = /BigDisk/Backups/xael.org/vps/exclusions.txt
DATABASE_OPTIONS = NONE
Utilisation
Pour utiliser le script, il suffit de lancer la commande suivante :
make -f Makefile_4_Backup backup
Le script va alors créer un répertoire backup nommé selon la date et
l’heure de lancement (exemple : backup_20151106-224537
). Une fois la sauvegarde
terminée, il va également créer un lien symbolique current
vers la dernière sauvegarde utilisée.
drwxr-xr-x 6 root root 4096 nov. 6 22:46 backup_20151106-224537
lrwxrwxrwx 1 root root 52 nov. 6 22:47 current -> /BigDisk/Backups/xael.org/vps/backup_20151106-224537