Une fois votre serveur installé, il est indispensable de mettre en place une procédure de sauvegarde pour ne pas perdre vos données.
L’offre Kimsufi ne comprenant pas d’espace de backup, je vais détailler comment sauvegarder les données sur un espace ftp.
( Dans mon cas j’utilise une offre mutualisé perso d’ovh, qui comprends 100 go d’espace ce qui est largement suffisant )

Installation de backup-manager

Pour réaliser les sauvegardes je vais utiliser backup-manager, qui permets de sauvegarder les contenus des dossiers de votre choix, mais également le contenu de vos bases de données.

Pour commencer installer backup-manager

sudo apt-get install backup-manager

L’installation vous demande ensuite dans quel dossier seront générées les sauvegardes.
Par défaut “var/archives/”

backup-manager-1

Si l’espace disque de votre serveur vous le permets conserver cet emplacement, sinon indiquez un emplacement sur une partition avec suffisamment de place

Préciser ensuite les dossiers que vous souhaitez sauvegarder

backup-manager-2

Pour ma part j’ai sauvegardé les fichiers de configuration système ( /etc/ ), les contenus des utilisateurs ( /home/) et les bases mysql ( /var/lib/mysql/ )

L’installation de backup-manager est terminée, nous allons à présent configurer l’export de ces sauvegardes vers un ftp distant

Configuration des sauvegardes

Entrer la commande

sudo vim /etc/backup-manager.conf

Il va falloir adapter la configuration de backup manager pour la faire correspondre à vos besoins.

La durée de conservation des sauvegardes est configurable via la ligne suivante

export BM_ARCHIVE_TTL="7">

La durée par défaut est de 5 jours, pour plus de sécurité je vais la passer à 7

Le format des fichiers par défaut est .tar, mais les options suivantes sont également disponibles : tarball-incremental, mysql, pgsql, svn, pipe

export BM_TARBALL_FILETYPE="tar mysql"

Rajouter “mysql” pour sauvegarder également les bases mysql.
Plusieurs solutions sont disponibles pour sauvegarder les bases mysql soit __ALL__ , pour toutes les sauvegarder, ou entrer le nom des bases à sauvegarder

#bases mysql
export BM_MYSQL_DATABASES="__ALL__"

Désactiver également la sauvegarde via une gravure de cd

export BM_BURNING_METHOD="none"

Les modes de sauvegarde et leur fréquences sont déterminés, il faut à présent renseigner les informations de connexion à mysql et au serveur ftp

### Accès Mysql
#Utilisateur mysql pour les sauvegardes
export BM_MYSQL_ADMINLOGIN="root"
# Mot de passe
export BM_MYSQL_ADMINPASS="pass"
# hote de la base de données
export BM_MYSQL_HOST="localhost"
 
### Accès ftp
#On choisi le mode d'upload ftp
export BM_UPLOAD_METHOD="ftp"
# utilisateur ftp
export BM_UPLOAD_FTP_USER="myuser"
# mot de passe ftp
export BM_UPLOAD_FTP_PASSWORD="mypassword"
#hôte ftp
export BM_UPLOAD_FTP_HOSTS="ftp.mywebsite.com"
# Chemin de depose des fichiers
export BM_UPLOAD_FTP_DESTINATION="/backup/"

Sauvegarder votre fichier, la configuration est à présent terminée.
Il est possible de lancer la sauvegarde manuellement via la commande

sudo backup-manager

Pour terminer nous allons ajouter la sauvegarde aux taches cron quotidiennes via la commande suivante

sudo vim /ect/cron.daily/backup-manager

Copier le contenu suivant dans le fichier

#!/bin/sh
/usr/sbin/backup-manager

Pour finir donner les droits d’éxécution à ce fichier

sudo chmod 751 /etc/cron.daily/backup-manager

La sauvegarde est à présent bien en place, et elle sera réalisée chaque jour.

Edit 2015-10-15 :
Si vous souhaitez exclure des fichiers de la sauvegarde vous pouvez consulter l’article suivant :
Backup manager : Exclure des fichiers ou des dossiers