|
CMS - OVH -
Sauvegarde/Restauration Base de données sur Hébergements Mutualisés
Chez OVH une sauvegarde des bases de données est faite chaque nuit. -
Les sauvegardes des bases SQL : http://guides.ovh.com/SaveBasesMySQL -
Comment sauvegarder une base de données ?
http://guides.ovh.com/BackupBaseMySQL -
Comment importer une base de données ? http://guides.ovh.com/ImportBaseMySQL La sauvegarde et surtout la restauration de Bases de données sur un
Hébergement Mutualisé peut s'avérer complexe voire même impossible lorsque la
base de données est trop grosse et que PhpMyAdmin passe en Time-Out. A ce moment là commence la grande panique : -
Le site est en production. -
La Base de Données est cassée. -
Sur le site : « Magnifique page blanche, … » OVH - Procédure
:
Pour faciliter la compréhension
j’ai pris comme nom de base de données « mabase ». Il suffira de changer dans les
scripts « mabase » par le nom réel
de votre base. Cas
catastrophe : Ne fonctionne actuellement pas
chez OVH - Il s’agit de créer un fichier
DUMP de la sauvegarde de votre base de données effectuée par OVH toutes les
nuits,
Script « dump_bd_nuit.php » - Puis de restaurer ce DUMP dans
votre base de données.
Script « restor_bd_nuit.php » Cas
préventif : - Il s’agit de créer un fichier
DUMP de votre base de données courante régulièrement tous les jours ou toutes
les semaines,
Script « sauve_bd.php » - Restauration de cette sauvegarde
(DUMP) dans votre base de données.
Script « restor_bd.php » OVH – Script « dump_bd_nuit.php » :
Ne fonctionne
actuellement pas chez OVH L’accès à la sauvegarde de votre
base de données sauvegardée par OVH se fait tout simplement en ajoutant
« -n » ou ‘-s » au nom de votre base de données. Ce qui donnera : -
mabase-n Pour la nuit précédente - mabase-s Pour la semaine précédente <?php error_reporting(E_ALL); // Activer le rapport d'erreurs PHP $db_charset = "latin1"; /* mettre utf8 ou
latin1 */ $db_server = "xxxxxx";
// Nom du serveur MySQL. ex. mysql5-26.perso $db_name = "xxxxxx";
// Nom de la base de données. ex. mabase-n ou mabase-s $db_username = "xxxxxx";
// Nom de la base de données. ex. mabase-n ou mabase-s $db_password = "xxxxxx";
// Mot de passe de la base de données. $cmd_mysql = "mysqldump"; $archive_GZIP = "sauve_base_format_gzip.gz"; echo
" Sauvegarde de la base <font color=red><b>$db_name</b></font>
par <b>mysqldump</b> dans le fichier
<b>$archive_GZIP</b> <br> \n"; $commande = $cmd_mysql." --host=$db_server
--user=$db_username --password=$db_password -C -Q -e --default-character-set=$db_charset $db_name | gzip -c > $archive_GZIP
"; $CR_exec = system($commande); ?> OVH – Script « restor_bd_nuit.php » :
Ne fonctionne
actuellement pas chez OVH <?php error_reporting(E_ALL); // Activer le rapport d'erreurs PHP $db_charset = "latin1"; /* mettre utf8 ou
latin1 */ $db_server = "xxxxxx";
// Nom du serveur MySQL. ex. mysql5-26.perso $db_name = "xxxxxx";
// Nom de la base de données. ex. mabase $db_username = "xxxxxx";
// Nom de la base de données. ex. mabase $db_password = "xxxxxx";
// Mot de passe de la base de données. $cmd_mysql = "mysql"; $archive_GZIP = "sauve_base_format_gzip.gz"; if (!is_file($archive_GZIP)) echo
"<font color=red>Le
fichier <b>".$archive_GZIP."</b>
n'existe pas </font> <br> \n"; echo
" Restauration de la base <font color=red><b>$db_name</b></font>
par <b>mysql</b> depuis le fichier
<b>$archive_GZIP</b> <br> \n"; $commande =
"gzip -d < $archive_GZIP
| $cmd_mysql --host=$db_server --user=$db_username
--password=$db_password $db_name"; $CR_exec = system($commande); ?> OVH – Script « sauve_bd.php » :
Principe, dater le fichier de
sauvegarde de façon à pouvoir récupérer à volonté la sauvegarde de n’importe
quel jour. <?php error_reporting(E_ALL); // Activer le rapport d'erreurs PHP $db_charset = "latin1"; /* mettre utf8 ou
latin1 */ $db_server = "xxxxxx";
// Nom du serveur MySQL. ex. mysql5-26.perso $db_name = "xxxxxx";
// Nom de la base de données. ex. mabase $db_username = "xxxxxx";
// Nom de la base de données. ex. mabase $db_password = "xxxxxx";
// Mot de passe de la base de données. $cmd_mysql = "mysqldump"; $datation = date("Y-m-d"); $archive_GZIP = "sauve_base_".$datation.".gz"; echo
" Sauvegarde de la base <font color=red><b>$db_name</b></font>
par <b>mysqldump</b> dans le fichier
<b>$archive_GZIP</b> <br> \n"; $commande = $cmd_mysql." --host=$db_server
--user=$db_username --password=$db_password -C -Q -e --default-character-set=$db_charset $db_name | gzip -c > $archive_GZIP
"; $CR_exec = system($commande); ?> OVH – Script « restor_bd.php » :
<?php error_reporting(E_ALL); // Activer le rapport d'erreurs PHP $db_charset = "latin1"; /* mettre utf8 ou
latin1 */ $db_server = "xxxxxx";
// Nom du serveur MySQL. ex. mysql5-26.perso $db_name = "xxxxxx";
// Nom de la base de données. ex. mabase $db_username = "xxxxxx";
// Nom de la base de données. ex. mabase $db_password = "xxxxxx";
// Mot de passe de la base de données. $cmd_mysql = "mysql"; $archive_GZIP = "sauve_base_CCAA-MM-JJ.gz"; // Par exemple
"sauve_base_2011-04-27.gz" if (!is_file($archive_GZIP)) echo
"<font color=red>Le
fichier <b>".$archive_GZIP."</b>
n'existe pas </font> <br> \n"; echo
" Restauration de la base <font color=red><b>$db_name</b></font>
par <b>mysql</b> depuis le fichier
<b>$archive_GZIP</b> <br> \n"; $commande =
"gzip -d < $archive_GZIP
| $cmd_mysql --host=$db_server --user=$db_username
--password=$db_password $db_name"; $CR_exec = system($commande); ?> |
|