OVH Cloud OVH Cloud

Backup de base de donnee

6 réponses
Avatar
Jean-Luc L'Hotellier
Bonjour,

Je souhaiterais mettre ne place un backup automatique et quotidien d'une
base de donnée. Je pense pour ça utiliser une crontab.

Existe-t-il une fonction toute faite pour exporter une base dans un fichier
zip comme le fait phpMyAdmin ou faut-il tout programmer ?

Ensuite il me suffit de me l'envoyer automatiquement par mail et c'est
nickel.

Merci d'avance pour vos conseils.

6 réponses

Avatar
Manuel
"Jean-Luc L'Hotellier" wrote in message
news:413d6439$0$28604$
Bonjour,

Je souhaiterais mettre ne place un backup automatique et quotidien d'une
base de donnée. Je pense pour ça utiliser une crontab.

Existe-t-il une fonction toute faite pour exporter une base dans un
fichier

zip comme le fait phpMyAdmin ou faut-il tout programmer ?

Ensuite il me suffit de me l'envoyer automatiquement par mail et c'est
nickel.



Ceci se fait via FTP, suffit d'adapter. Ce n'est pas de moi

============================= #!/bin/bash

#################################################
#
# Script de sauvegarde d'une base MySQL
#
# 23/01/2003
#
#################################################

# ---- Mise en place des variables

# Nom de la 1er base
liste_bases="mabase"

# login passwd pour mysql ayant acces a toutes les bases
user=user
passbase=motdepasse

# adresse email a prévenir
mailrt=mon_addresse

# nom du serveur de Backup
srvbk=le serveur ftp de backup
Userftp=utilisateur
Passftp=mdp

# Repertoire ou backuper les bases
repbk=rep de sauvegarde

# ---- Fin des variables
#################################################
# ---- Fonctions

function_sortir()
{
echo "Il y a eu une erreur lors du Backup de vos bases" | mail -s "ERREUR
- Backup MySQL du ${statsdatem}" ${mailrt};
exit 1
}

# ---- Fin des fonctions
#################################################
# ---- Main

statsdatem=$(date '+%Y/%m/%d - %T')
statsdatef=$(date '+%Y%m%d')

for base in ${liste_bases}
do
NomFichierSauvegarde="backup-"${statsdatef}"-"${base}".sql"
mysqldump --all --user=${user} --password=${passbase} ${base} >
${NomFichierSauvegarde};
[ $? -ne 0 ] && function_sortir;
gzip ${NomFichierSauvegarde};
[ $? -ne 0 ] && function_sortir;
done

ftp -n ${srvbk} <<End-Of-Session
user ${Userftp} ${Passftp}
binary
prompt
cd ${repbk}
mput *${statsdatef}*.gz
bye
End-Of-Session
[ $? -ne 0 ] && function_sortir;

for fic in `ls -1 *${statsdatef}*.gz`
do
rm -f ${fic}
done


echo "Backup des bases SQL ${liste_bases} : OK" | mail -s "Backup MySQL du
${statsdatem}" ${mailrt};

exit 0
============================
Manu

Avatar
BaBS
Bonjour,

Je dirais crontab oui, avec comme commande mysqldump :
mysqldump <db> -p<ton_pass> | gzip -c > file.gz
ensuite tu peut te le mail mais je ne sais pas comment attacher un fichier
avec mail ...
donc tu as aussi :
mysqldump <db> -p<ton_pass> | mail -s `date +%Y/%M/%d`

Dans ce cas, tu recevra le dump dans ton mail en temps que corps :)

Vala

++
BaBS

Le Tue, 07 Sep 2004 11:48:51 +0000, Jean-Luc L'Hotellier a écrit :

Bonjour,

Je souhaiterais mettre ne place un backup automatique et quotidien d'une
base de donnée. Je pense pour ça utiliser une crontab.

Existe-t-il une fonction toute faite pour exporter une base dans un fichier
zip comme le fait phpMyAdmin ou faut-il tout programmer ?

Ensuite il me suffit de me l'envoyer automatiquement par mail et c'est
nickel.

Merci d'avance pour vos conseils.
--

I've lost my mind .
But it's on a backup tape ...
... Somewhere ...

Avatar
_nop_nop_quinton_
Jean-Luc L'Hotellier wrote:

Bonjour,

Je souhaiterais mettre ne place un backup automatique et quotidien d'une
base de donnée. Je pense pour ça utiliser une crontab.

Existe-t-il une fonction toute faite pour exporter une base dans un fichier
zip comme le fait phpMyAdmin ou faut-il tout programmer ?

Ensuite il me suffit de me l'envoyer automatiquement par mail et c'est
nickel.

Merci d'avance pour vos conseils.


sur google : php database backup ... (il suffit de chercher un peu).

http://www.phpfreaks.com/script/view/11.php

tu ne nous a pas dit, si tu disposais de certains droits sur la machine
(commandes en ligne)
ou si c'etait de l'hebergement mutualisé, auquel cas, la problematique ne
se regle pas du
tout de la meme maniere.


--
Posté via http://www.webatou.net/
Usenet dans votre navigateur !
Complaints-To:

Avatar
cmeresse
Jean-Luc L'Hotellier wrote in message news:<413d6439$0$28604$...
Bonjour,

Je souhaiterais mettre ne place un backup automatique et quotidien d'une
base de donnée. Je pense pour ça utiliser une crontab.

Existe-t-il une fonction toute faite pour exporter une base dans un fichier
zip comme le fait phpMyAdmin ou faut-il tout programmer ?


C'est peut-etre idiot, mais moi je backup juste en copiant les
fichiers
de la base que l'on trouve dans les repertoires de mysql sans passer
par aucune commande mysql...
J'ai déjà eu l'occasion de les restaurer et il me semble que ca a
marché.

Est-ce que je me trompe ? Est-ce que c'est une mauvaise methode ?

A+
Christophe

Avatar
nospam
Christophe M?resse wrote:

Bonjour,

Je souhaiterais mettre ne place un backup automatique et quotidien d'une
base de donnée. Je pense pour ça utiliser une crontab.

Existe-t-il une fonction toute faite pour exporter une base dans un fichier
zip comme le fait phpMyAdmin ou faut-il tout programmer ?


C'est peut-etre idiot, mais moi je backup juste en copiant les
fichiers
de la base que l'on trouve dans les repertoires de mysql sans passer
par aucune commande mysql...
J'ai déjà eu l'occasion de les restaurer et il me semble que ca a
marché.

Est-ce que je me trompe ? Est-ce que c'est une mauvaise methode ?


Non pas du coup, c'est même plus rapide ;)

En revanche ne pas oublier de couper le serveur pour ne pas avoir de
mauvaises surprises.


--
Romuald Brunet, ICQ 33033393, http://mog.online.fr

Remplacez nospam par mon prénom pour me contacter par email


Avatar
_nop_nop_quinton_
Romuald Brunet wrote:


Est-ce que je me trompe ? Est-ce que c'est une mauvaise methode ?



mauvaise non, mais elle n'est pas forcement "portable", en cas de
changement
de format interne des fichiers de la base, tu n'aura pas de possibilité de
lire
tes anciens fichiers.

En revanche ne pas oublier de couper le serveur pour ne pas avoir de
mauvaises surprises.


effectivement msqldump possede un option de "lock" ; j'imagine qu'on peut
"locker"
la base de données le temp du dump ou de la recopie des fichier plutot que
de faire
un shutdown complet. C'est sans doute plus rapide. (pas vu d'options dans
mysqladmin).




--
Posté via http://www.webatou.net/
Usenet dans votre navigateur !
Complaints-To: