Sauvegarde Base de données par cron

M@rie
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 24 Mar 2006

Sauvegarde Base de données par cron

Message le Mer Déc 01, 2010 8:49

Bonjour,


Je cherche à mettre en place une tâche planifiée permettant de sauvegarder ma base de données (environ 200 Mo) quotidiennement.
J'ai un hébergement mutualisé Pro 100 Go chez OVH.

Pour cela j'essaie de mettre en application ce guide OVH: http://guides.ovh.net/MutualiseCron

J'en suis à la première étape: Test du scrip php en mode shell.
Je compte faire ceci:

1) Je crée un script php Save_Base.php que j'uploade dans le dossier /home/vistaxp/www/forum/back sur le serveur.

Code: Tout sélectionner
#!/usr/local/bin/php

<?PHP

   $db_charset = "UTF8"; /* mettre utf8 ou latin1 */

   $db_server         = "xxxxxx";
   $db_name           = "xxxxxx";
   $db_username       = "xxxxxx";
   $db_password       = "xxxxxx";

// Sauvegarde :
// ------------

   $cmd_mysql = "mysqldump";

   $archive_GZIP      = "Sauve_Base.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);

?>



2) Dans Putty, je me connecte en rentrant mon identifiant et mon mot de passe FTP.

3) Toujours dans Putty, je rentre les commandes suivantes:

Code: Tout sélectionner
CD /home/vistaxp/www/forum/back
./Save_Base.php



Est ce que cette démarche est la bonne ?
Est ce que je vais bien retrouver la sauvegarde de la base dans le dossier /home/vistaxp/www/forum/back ?


Merci

Robinson
WRInaute passionné
WRInaute passionné
 
Messages: 2233
Inscription: 25 Oct 2005

Re: Sauvegarde Base de données par cron

Message le Mer Déc 01, 2010 10:25

Normalement oui, mais je te conseille de donner une date à ta sauvegarde sinon elle sera remplacée chaque jour.
Tu as assez de Go pour voir venir.

M@rie
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 24 Mar 2006

Re: Sauvegarde Base de données par cron

Message le Mer Déc 01, 2010 12:14

mais je te conseille de donner une date à ta sauvegarde sinon elle sera remplacée chaque jour.


Et comment je fais ça ... :oops:

Robinson
WRInaute passionné
WRInaute passionné
 
Messages: 2233
Inscription: 25 Oct 2005

Re: Sauvegarde Base de données par cron

Message le Mer Déc 01, 2010 14:04

Rien de plus simple en php :)
Code: Tout sélectionner
$archive_GZIP      = "Sauve_Base_".date('Y-m-d').".gz";

M@rie
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 24 Mar 2006

Re: Sauvegarde Base de données par cron

Message le Mer Déc 01, 2010 15:12

Merci Robinson. :D


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Sauvegarde Base de données par cron

Message le Mer Déc 01, 2010 18:28

Vu que tu as un accès SSH, tu pourrais regarder du côté de le faire en SSH (plus performant qu'en .php).

teste si cette commande fonctionne
Code: Tout sélectionner
mysqldump --user=ton_user --password=ton_pass ta_base_de_donnes --opt > fichier.sql

Si ça marche, tu pourrais mettre ça dans un script bash.

nern
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 3 Déc 2010

Re: Sauvegarde Base de données par cron

Message le Ven Déc 03, 2010 14:41

Je confirme, moi je fait un script bash celui la :

Code: Tout sélectionner
#!/bin/bash

DATE=`date +%u`
DIR='/home/backup'
HOST='xxx';
USER='xxx';
PASS='xxx';
BASE='xxx';

mysqldump -h $HOST -u $USER -p$PASS -r$DIR/backup_$DATE.sql $BASE
tar -cjvf $DIR/backup_$DATE.tar.bz2 $DIR/backup_$DATE.sql
rm $DIR/backup_$DATE.sql


appelé "backup_db.sh", puis dans le crontab (tous les jours à 2h) :

Code: Tout sélectionner
0 2 * * * root /home/script/backup_db.sh


C'est une version assez simple mais en général suffisante.


PS: le script nomme les backups avec le n° du jour dans la semaine pour garder 7 jours d'historique puis ils tournent pour ne pas occuper trop d'espace disque.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités