Sauvegarde de base automatisée + mail de la sauvegarde
Par Chojin, lundi 27 juin 2005 à 22:46 :: [Dédiés] SQL :: #46 :: rss
Ce petit tutorial va vous permettre de programmer des sauvegardes automatiques de vos bases.
Ouvrez une session ssh
Création d'un répertoire pour y placer vos scripts
$ mkdir scripts
Création du répertoire de stockage temporaire de la sauvegarde
$ mkdir sqldata
Création du fichier de sauvegarde base
$ cd /scripts
$ > dumpdb.sh
Recopiez-y le code suivant en remplaçant "NOM_DE_LA_BASE" par le nom de la base que vous souhaitez sauvegarder et PASSWD par votre mot de passe root
(ou tout autre user autorisé)
#!/bin/sh
/usr/local/mysql/bin/mysqldump -uroot -pPASSWD --opt NOM_DE_LA_BASE > /sqldata/NOM_DE_LA_BASE.sql
cd /sqldata/
tar -zcvf NOM_DE_LA_BASE.tgz NOM_DE_LA_BASE.sql
cd /scripts/
perl emailsql.cgi
Conseil pour newbie n°1 : Pour coller du code dans Putty, essayez le clic droit dans la fenêtre
Conseil pour newbie n°2 : Si vous utilisez l'explorateur du Webmin pour y créer votre fichier, faites attention au rajout de caractère de fin de ligne
propre à Windows et que Linux ne comprend pas, utilisez vi pour vérifier qu'il n'y a pas de ^M à la fin de chaque ligne.
Rendons-le exécutable
$ chmod 755 dumpdb.sh
toujours dans le répertoire scripts, créez le fichier de mail de la base (Celui-ci est appelé dans le premier fichier dumpdb)
$ > emailsql.cgi
Recopiez-y le code suivant en remplaçant ADRESSE_MAIL_EXPEDITEUR, ADRESSE_MAIL_CIBLE et NOM_DE_LA_BASE.
#!/usr/bin/perl -w
use MIME::Lite;
$msg = MIME::Lite->new(
From => 'ADRESSE_MAIL_EXPEDITEUR',
To => 'ADRESSE_MAIL_CIBLE',
Subject => 'Sauvegarde de votre base de donnees NOM_DE_LA_BASE.tgz',
Type => 'text/plain',
Data => "Bonjour,n Veuillez trouver ci-joint votre sauvegarde de la base de donnees NOM_DE_LA_BASE.");
$msg->attach(Type=>'application/x-tar',
Path => "/sqldata/NOM_DE_LA_BASE.tgz",
Filename => "NOM_DE_LA_BASE.tgz");
$msg->send;
Maintenant nous allons installer le package allégé qui va permettre d'envoyer les mails
$ cd /tmp
$ wget http://search.cpan.org/CPAN/authors/id/Y/YV/YVES/MIME-Lite-3.01.tar.gz
$ tar -xzvf MIME-Lite-3.01.tar.gz
$ cd MIME-Lite-3.01
$ perl Makefile.PL
$ make test
si aucune erreur ne vous est retournée :
$ make install
Dernière étape, créez une tâche cron dans Webmin avec
Nom de la tâche = /scripts/dumpdb.sh
Article repris de Sacdos
Commentaires
1. Le lundi 26 juin 2006 à 14:14, par docteur_marc
Ajouter un commentaire