Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Backup automatique de Base MySQL

7 réponses
Avatar
kalimbra
bonjour,

je me demandais comment faire un backup automatique sur un Xserve 10.3.9
de mes bases MySQL..

bien sur je peux faire un dump, mais y'a t'il un moyen de faire ça
automatiquent ?

je pensais soit utiliser SilverKeeping, mais je ne sais pas où se trouve
le fichier de DB, soit un Automator d'un poste présent sur le réseau.
.Voir un applescript.. ?


toute aide sera appréciée.. :)

7 réponses

Avatar
patpro ~ patrick proniewski
In article , kalimbra
wrote:

bonjour,

je me demandais comment faire un backup automatique sur un Xserve 10.3.9
de mes bases MySQL..

bien sur je peux faire un dump, mais y'a t'il un moyen de faire ça
automatiquent ?

je pensais soit utiliser SilverKeeping, mais je ne sais pas où se trouve
le fichier de DB, soit un Automator d'un poste présent sur le réseau.
.Voir un applescript.. ?


crontab avec un script shell.
Le dump est la meilleure solution pour ces raisons :

- peut se faire sans couper la base de données
- fichier de dump léger et facile à compresser
- fichier de dump ré-injectable sur d'autres machines (d'autres
architectures, d'autres OS et d'autres versions de MySQL)
- il peut se faire via le réseau sans avoir besoin d'un compte
utilisateur sur le serveur.

J'utilise quelque chose comme ça pour mon serveur perso (c'est très
sale, et c'est un vieux script que je n'ai pas touché depuis longtemps,
signe qu'il fonctionne parfaitement :) ) :

--------------------------------------------
#!/bin/sh
mysqlroot=/var/db/mysql
monbkp=/backup/MYSQL
madate=`date "+%Y-%m-%d"`
monjour=`date "+%w"`
mydump=/usr/local/bin/mysqldump

echo
echo "lancement du backup des bases de donnees MySQL 4..."
echo

mkdir -m 0777 /tmp/mysql

cd $mysqlroot || exit 1
for directory in *
do
if [ $directory != "" ]; then
if [ -d "$mysqlroot/$directory" ]; then
echo -n "backup de $directory : "
$mydump -u root -pchapipo --opt $directory > "/tmp/mysql/$directory"
if [ $? = 0 ]; then
tar -czf "$monbkp/$madate$directory.tgz" -C
/tmp/mysql/ "$directory"
if [ $? = 0 ]; then
rm -f "$monbkp/$directory.${monjour}.tgz"
rm -r "/tmp/mysql/$directory"
mv "$monbkp/$madate$directory.tgz"
"$monbkp/$directory.${monjour}.tgz"
echo "ok"
else
echo "Erreur targz".
fi
else
echo "Erreur export".
fi
fi
fi
done

rm -fR /tmp/mysql/

--------------------------------------------

Grossièrement, ça liste toutes les bases de données de MySQL, et ça les
dump toutes individuellement, ça compresse et date chaque dump avec le
numéro du jour, et ça stocke le résultat dans un dossier.
Les jours vont de 0 à 6 je crois, ça te permet de garder 1 semaine de
backup

patpro

--
http://www.patpro.net/

Avatar
kalimbra
et le crontab tu le fais comment ?:)

crontab avec un script shell.
Le dump est la meilleure solution pour ces raisons :

- peut se faire sans couper la base de données
- fichier de dump léger et facile à compresser
- fichier de dump ré-injectable sur d'autres machines (d'autres
architectures, d'autres OS et d'autres versions de MySQL)
- il peut se faire via le réseau sans avoir besoin d'un compte
utilisateur sur le serveur.

J'utilise quelque chose comme ça pour mon serveur perso (c'est très
sale, et c'est un vieux script que je n'ai pas touché depuis longtemps,
signe qu'il fonctionne parfaitement :) ) :

--------------------------------------------
#!/bin/sh
mysqlroot=/var/db/mysql
monbkp=/backup/MYSQL
madate=`date "+%Y-%m-%d"`
monjour=`date "+%w"`
mydump=/usr/local/bin/mysqldump

echo
echo "lancement du backup des bases de donnees MySQL 4..."
echo

mkdir -m 0777 /tmp/mysql

cd $mysqlroot || exit 1
for directory in *
do
if [ $directory != "" ]; then
if [ -d "$mysqlroot/$directory" ]; then
echo -n "backup de $directory : "
$mydump -u root -pchapipo --opt $directory > "/tmp/mysql/$directory"
if [ $? = 0 ]; then
tar -czf "$monbkp/$madate$directory.tgz" -C
/tmp/mysql/ "$directory"
if [ $? = 0 ]; then
rm -f "$monbkp/$directory.${monjour}.tgz"
rm -r "/tmp/mysql/$directory"
mv "$monbkp/$madate$directory.tgz"
"$monbkp/$directory.${monjour}.tgz"
echo "ok"
else
echo "Erreur targz".
fi
else
echo "Erreur export".
fi
fi
fi
done

rm -fR /tmp/mysql/

--------------------------------------------

Grossièrement, ça liste toutes les bases de données de MySQL, et ça les
dump toutes individuellement, ça compresse et date chaque dump avec le
numéro du jour, et ça stocke le résultat dans un dossier.
Les jours vont de 0 à 6 je crois, ça te permet de garder 1 semaine de
backup

patpro



Avatar
patpro ~ patrick proniewski
In article , kalimbra
wrote:

et le crontab tu le fais comment ?:)


crontab -e

puis je saisi :

30 5 * * * /chemin/de/ton/script/de/backup-SQL.sh

et je sors en enregistrant. Notions d'utilisation de 'vi' indispensables.

patpro

--
http://www.patpro.net/

Avatar
laurent.pertois
patpro ~ patrick proniewski wrote:

et je sors en enregistrant. Notions d'utilisation de 'vi' indispensables.


Oui, mais on peut changer son éditeur par défaut ou bien utiliser des
outils GUI comme TextWrangler qui sait très bien devenir éditeur par
défaut par le biais de son outil CLI.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
jacques
patpro ~ patrick proniewski wrote:

et je sors en enregistrant. Notions d'utilisation de 'vi' indispensables.


<http://www.foucry.net/blog>

Depuis le premier janvier, tous les lundis un billet sur
"l'administrateur au merveilleux pays de VI".

Les retours que j'ai me disent que c'est facile à comprendre et pas trop
dense à chaque fois.

Voilà, c'est dit.

--
Jacques

Avatar
patpro ~ patrick proniewski
In article <1hskqje.7v74i01luiqr6N%,
(Laurent Pertois) wrote:

patpro ~ patrick proniewski wrote:

et je sors en enregistrant. Notions d'utilisation de 'vi' indispensables.


Oui, mais on peut changer son éditeur par défaut ou bien utiliser des
outils GUI comme TextWrangler qui sait très bien devenir éditeur par
défaut par le biais de son outil CLI.


oui, c'est sûr, mais je donne pas un cours d'Unix là :)

patpro

--
http://www.patpro.net/


Avatar
Nicolas.MICHEL
Jacques Foucry wrote:

<http://www.foucry.net/blog>


Merci :)

--
Nicolas