sauvegarde automatique

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

sauvegarde automatique

Messagepar tomenbois » 10 Sep 2007 11:33

Bonjour,

je cherche un moyen de faire une sauvegarde automatique d'une base de données, je sais que je peux utiliser un script cron, mais je ne sais pas ou il faut le mettre, ni ou trouver le repertoire de la base de données MySQL. Je voudrais que le dump soit mis sur une autre machine, un serveur de sauvegarde.
J'ai lu les posts qui concerne ce sujet là mais je n'ai pas tout compris.

merci pour votre aide
tomenbois
Matelot
Matelot
 
Messages: 10
Inscrit le: 19 Juin 2007 14:44

Messagepar sibsib » 10 Sep 2007 21:11

Hello,

Jamais très bon de donner du boulot tout mâché, mais voici le script que j'utilise :

Code: Tout sélectionner
# mySQLbackup.sh : effectue un dump de toutes les databases trouvées dan mySQL,
#          tgz l'ensemble et stocke dans un répertoire accessible par SAMBA.
#          Après, sur un PC du réseau, synchro sur un disque local à chaque démarrage.
# PS 18 mai 2002
#
# 2003may01 PS  : plutot que de bricoler mon backup, j'utilise celui de e-smith
# 2004Feb08 PS  : On passe a SME 6.0 !

SMEDIR="/home/e-smith/db/mysql"
DIR="/home/e-smith/files/ibays/commun/files/mySQL.backup"
[ ! -d $DIR ] && mkdir $DIR ;

# utilisation des outils SME !
/sbin/e-smith/signal-event pre-backup

# Maintenant, les tables sont dans $SMEDIR
# compression dans un fichier unique, daté
DTE=` date "+%Y-%m-%d" `
tar -cPzf $DIR/mySQLbackup$DTE.tgz $SMEDIR/*
chmod 660 $DIR/mySQLbackup$DTE.tgz


Ce script est lancé toutes les nuits par cron. Pour ce faire, j'ai créé ce fichier :

/etc/e-smith/templates-custom/etc/crontab/80mySQLBackup
Code: Tout sélectionner
# Backup quotidien de la base mySQL
24 4 * * *      root    /root/bin/mySQLbackup.sh


expand-template /etc/crontab pour prise en compte.

Enfin, au boot, un PC du réseau va chercher les fichiers et les copie localement.

Attention : gros défaut de ce script (parce que ce défaut me convient bien ;-) ) : Les backups ne sont jamais effacés !

A+,
Pascal
Avatar de l’utilisateur
sibsib
Amiral
Amiral
 
Messages: 2368
Inscrit le: 11 Mai 2002 00:00
Localisation: France - région parisienne

Messagepar tomenbois » 11 Sep 2007 11:22

merci, pour ton aide, j'ai suivi ta procédure, mais sa ne marche pas.
je ne comprend pas pourquoi, pourtant il me semble n'avoir rien oublié.
tomenbois
Matelot
Matelot
 
Messages: 10
Inscrit le: 19 Juin 2007 14:44

Messagepar sibsib » 11 Sep 2007 20:59

Hello,

C'est pour çà que je ne donne quasiment jamais des solutions toutes faites :-)

"Cà ne marche pas" Certes. Chez moi çà marche :-)

Eventuellement, en supposant que ton problème te préoccupe un peu, peux-tu nous dire "Ce qui ne marche pas" ?

(Boule de cristal en panne, toussa, toussa...)

Plus généralement : Mon script déclenche un dump des databases mySQL et les stocke dans un fichier tar dans un répertoire de backup. (Qui n'existe peut-être pas chez toi ?)

Si tu lances ceci tous les jours mais que tu ne sais pas restaurer ces backups, çà ne sert à rien.

A+,
Pascal
Sibsib, admin heureux d'un petit SME !!!
- SME 8.0 beta 6 dans une VM :-)
- ESXI 4.1 sur hardware noname
Ma petite page sur SME
Avatar de l’utilisateur
sibsib
Amiral
Amiral
 
Messages: 2368
Inscrit le: 11 Mai 2002 00:00
Localisation: France - région parisienne

Messagepar tomenbois » 20 Sep 2007 10:01

Desolé d'avoir abandonné le post, je l'avait oublié.

Mais j'ai trouvé une solution qui marche bien : automysqlbackup

voici la procédure a suivre :

C’est un script qui prend une sauvegarde quotidienne, hebdomadaire, mensuelle et annuelle des bases de données

Récupérer AutoMySQLBackup

Se metre en root

Puis copier le script dans /etc/cron.daily :

#cp automysqlbackup.sh /etc/cron.daily

Autoriser l’execution du script :

#chmod u+rwx /etc/cron.daily/automysqlbackup.sh

Configuration :

#vi /etc/cron.daily/automysqlbackup.sh

USERNAME=dbuser -> mettre le nom d’utilisateur
PASSWORD=password –> mettre le mdp associé a l’utilisateur
DBNAMES= « DB1 DB2 DB3 » -> mettre la ou les bases de données a sauvegarder (garder les guillemets)
On peut modifier le répertoire de destination si on le souhaite.

Enregistrer : echap puis :wq

Pour lancer une sauvegarde :

#/etc/cron.daily/automysqlbackup.sh

Le script étant placé dans le répertoire cron.daily, il fera des sauvegardes tout les jours qu’il placera dans un dossier daily du dossier de destination. Ce dossier ne contient pas plus de 7 copies.
Le samedi les sauvegardes seront stocké dans un dossier appelé weekly.
Le premier de chaque mois la sauvegarde sera dans le dossier monthly.
tomenbois
Matelot
Matelot
 
Messages: 10
Inscrit le: 19 Juin 2007 14:44


Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité