[gepi-users] Re: Mise en place de rentrée: sauvegarde

Stephane Boireau (Animateur Secteur Bernay/Pont-Audemer) stephane.boireau at ac-rouen.fr
Mar 22 Aou 11:08:31 CEST 2006


Bonjour,

Le Lundi 21 Août 2006 16:39, david_Pailler a écrit :
> >NOTE:
> >Pour les sauvegardes, je pensais à lancer des mysqldump en cron.
> >J'hésite sur la régularité des sauvegardes... avec des sql bzippés, je
> > dois pouvoir sans problème conserver une sauvegarde par jour sur un an.
> > (sauvegarde locale+rsync-ssh d'un serveur vers un autre (je fais ce genre
> > de choses pour d'autres usages))
> >Sinon, est-il possible de s'assurer que pendant un créneau horaire de
> > quelques minutes, il n'y a pas d'écriture dans la base MySQL? (pour être
> > sûr de ne pas avoir de blagues lors du dump)
> >
> >Merci.
> >--
> >Stéphane Boireau
> >Animateur de secteur RUE de Bernay/Pont-Audemer
> >Collège Le Hameau à Bernay (27)
>
> L'option -x  de mysqldump permet de fermer les tables pendant la
> sauvegarde (il faut que le gestionnaire de la base gepi est le droit
> général RELOAD) et il n'est pas nécessaire s'être root ni du serveur ni
> de mysql, mais simplement de la base gepi.

Merci pour cette solution.

J'avais opté pour autre chose de plus compliqué:
D'abord:
	update setting set VALUE='yes' where NAME='disable_login'
Puis la sauvegarde.
Et enfin:
	update setting set VALUE='no' where NAME='disable_login'

Voilà de quoi a l'air le script:
==================================
#!/bin/bash
# Tâche cron de sauvegarde sur la machine Gepi

# Récupération des paramètres d'accès à la BDD,...:
params=/root/params_gepi.sh
source $params

if ! grep "^$groupe:" /etc/group > /dev/null; then
	groupadd $groupe
	# Il faut encore affecter dans ce groupe l'utilisateur utilisé pour l'accès 
SSH/SCP
fi

chemin=/home/root/sql

mkdir -p $chemin
chmod 750 $chemin
chown root:$groupe $chemin

echo "update setting set VALUE='yes' where NAME='disable_login'" > 
$chemin/interdiction.sql
echo "update setting set VALUE='no' where NAME='disable_login'" > 
$chemin/autorisation.sql

#ladate=$(date +"%Y.%m.%d-%H.%M.%S")
ladate=$(date +"%Y.%m.%d")

mysql -u${gepi_user} -p${gepi_pass} ${gepi_base} < $chemin/interdiction.sql
sleep 1
mysqldump -u${gepi_user} -p${gepi_pass} ${gepi_base} > $chemin/${gepi_base}.
${ladate}.sql
bzip2 $chemin/${gepi_base}.${ladate}.sql
chown root:$groupe $chemin/${gepi_base}.${ladate}.sql.bz2
sleep 1
mysql -u${gepi_user} -p${gepi_pass} ${gepi_base} < $chemin/autorisation.sql
==================================

Cordialement.
-- 
Stéphane Boireau
Animateur TICE sur le Secteur de Bernay/Pont-Audemer (27)




Plus d'informations sur la liste de diffusion gepi-users