Dans cette deuxième partie de la mise en place d'un serveur de backup, nous allons nous occuper principalement de la sauvegarde des bases de données MYSQL. BackupPC permet la sauvegarde complète d'un serveur, ce qui inclus aussi les bases de données, mais il est tellement plus pratique de pouvoir restaurer ses bases MySQL depuis un dump.
Ce script crée un dossier par base de données, et stock les dumps quotidiens à l'intérieur de chaque dossier. Ainsi nous pourrons ajouter ces dossiers à BackupPC et donc facilement restaurer une, ou plusieurs bases de données, à un instant T.
Création de l'utilisateur mysql pour le dump
Se connecter sur le serveur à sauvegarder et ajouter les droits nécessaires pour l'utilisateur de dump. Dans notre cas, je l'ai simplement appelé "backup"
mysql -u root -p (entrez le mot de passe lorsqu'il vous sera demandé)
GRANT USAGE,SELECT,LOCK TABLES ON *.* TO backup@localhost IDENTIFIED BY 'MonMotDePasseTopSecret'; FLUSH PRIVILEGES;
Exit
Maintenant on récupère le script automysqlbackup que l'on va stocker dans un dossier temporaire
mkdir tmpbck
cd tmbbck
wget http://downloads.sourceforge.net/project/automysqlbackup/AutoMySQLBackup/AutoMySQLBackup%20VER%203.0/automysqlbackup-v3.0_rc6.tar.gz
tar zxvf automysqlbackup-v3.0_rc6.tar.gz
Installation automatique :
bash install.sh
Edition de la configuration (suffisamment bien documenté pour être compréhensible). Il s'agit de décommenter les lignes nécessaires (user, password, Dir, etc ...)
vi /etc/automysqlbackup/myserver.conf
Là encore, je conseille de choisir un dossier de destination monté sur une partition de grande taille.
A ce stade, vous pouvez tester votre installation :
automysqlbackup /etc/automysqlbackup/myserver.conf
En cas d'erreur -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly :
- Editer le fichier de configuration mySQL my.cnf
- Ajouter/rechercher la section [mysqldump] et ajouter la ligne :
- events
Enfin on donne les privilèges à l'utilisateur pour exécuter le script
sudo vi /etc/sudoers
Ajouter cette ligne dans le fichier :
backuppc ALL=NOPASSWD: /usr/local/bin/automysqlbackup
Le script de sauvegarde MySQL est installé sur votre serveur. Il ne reste plus qu'à l'ajouter à la configuration de BackupPC pour qu'il soit exécuté à chaque lancement d'une nouvelle sauvegarde.