Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/10/2007, à 23:39

mikyvienne

Script de save, donnez votre avis, SVP

Voila je dois faire un scritp de save de base
Il y en certe plein sur le net mais je trouve pas mon bonheur
Outre les habituel fonction de sauvegarde vers un ftp avec suppresion des fichier obsolete ect...
moi je voudrai qu'il arrete la base avant de demarer la save et la relance a la fin de la sauvegarde
Et pendant que la sauvegarde s'effectue qu'il y ai un petit message come quoi la base est en travail sur la page web de php my admin (en modifiant la page d'erreur qui correcpont a l'erreur #2002 par exemple ?) mais il est ou ce message d'erreur ?
Et serait-il possible d'envoyer un message d'alerte a un user en ligne qui bosse sur la base comme quoi elle va etre arreter dans x min ???? genre popup ?
Alors j'ai un le bout du debut d'un script

#!/bin/sh
#########################
# Backup
#########################
##-- Entête du fichier log
echo "####################################################" >> /home/root/resultat.log
echo "# Sauvegarde de la base euroliste du `date -I`" >> /home/root/resultat.log
##-- Remplacer User_base, Password_base, Nom_base par vos données --##
mysqldump -u User_base -pPassword_base Nom_base > /tmp/base.sql
echo "# Compression de l'archive: base.sql" >> /home/root/resultat.log
tar zcf /tmp/base_`date -I`.tar.gz /tmp/base.sql
tar zcf /tmp/site_cgi_`date -I`.tar.gz /home/webadmin/domaine.com/cgi-bin
tar zcf /tmp/site_html_`date -I`.tar.gz /home/webadmin/domaine.com/html
rm /tmp/base.sql
echo "# Connexion au serveur distant: ftpperso.free.fr" >> /home/root/resultat.log
ftp -n -i ftpperso.free.fr <<EOF
##-- Remplacer Compte_ftp, Password_ftp par vos données --##
user Compte_ftp Password_ftp
cd /
cd /sauvegarde
put /tmp/base_`date -I`.tar.gz base_`date -I`.tar.gz
put /tmp/site_cgi_`date -I`.tar.gz site_cgi_`date -I`.tar.gz
put /tmp/site_html_`date -I`.tar.gz site_html_`date -I`.tar.gz
close
bye
EOF
echo "# Fermeture de la session." >> /home/root/resultat.log
##-- On supprime les fichiers temporaires
rm /tmp/*.gz
echo "# Backup OK" >> /home/root/resultat.log
echo "####################################################" >> /home/root/resultat.log

Si au debut du script je rajoute
/etc/init.d/mysql stop
et a la fin du script
/etc/init.d/mysql start
est-ce que ca marche ????

Ce script fonction avec un cron
Merci de votre aide precieuse

Dernière modification par mikyvienne (Le 17/10/2007, à 17:52)

Hors ligne

#2 Le 17/10/2007, à 20:24

mikyvienne

Re : Script de save, donnez votre avis, SVP

Rhoo, personne ne peu m'aider ? sad

Hors ligne

#3 Le 17/10/2007, à 21:26

Uggy

Re : Script de save, donnez votre avis, SVP

mikyvienne a écrit :

moi je voudrai qu'il arrete la base avant de demarer la save et la relance a la fin de la sauvegarde

Si au debut du script je rajoute
/etc/init.d/mysql stop
et a la fin du script
/etc/init.d/mysql start
est-ce que ca marche ????

Il n'y a pas de raison que la commande qui démarre la base ne la démarre pas....
Je suis pas sur qu'il faille arreter la base pour la dumper.. mais si tu veux absolument l'arreter...


mikyvienne a écrit :

Et pendant que la sauvegarde s'effectue qu'il y ai un petit message come quoi la base est en travail sur la page web de php my admin (en modifiant la page d'erreur qui correcpont a l'erreur #2002 par exemple ?) mais il est ou ce message d'erreur ?

Je ne connais pas "php my admin" .
Pour trouver la page que tu veux utilise:
find /tonRep -type f -exec grep -H LaChaineQueTuRecherches {} \;
Il devrait t'indiquer le fichier dans lequel ton script peux ecrire ton message...
Mais si tu n'arretait pas la base............

mikyvienne a écrit :

Et serait-il possible d'envoyer un message d'alerte a un user en ligne qui bosse sur la base comme quoi elle va etre arreter dans x min ????

man write
man wall

mikyvienne a écrit :

genre popup ?

Un popup graphique ?? a tous les users connectés en SSH  c'est ca ?? Qu'ils soient sous Windows Linux...etc ??? Sans avoir acces aux machines des users ... ?? ?

man notify-send
si tu penses pouvoir executer des commandes sur les postes linux des personnes..
Mais si tu n'arretait pas la base............

Hors ligne

#4 Le 17/10/2007, à 21:38

KnarNantais

Re : Script de save, donnez votre avis, SVP

Bonsoir,

Quand je fais de dump de base mysql, je préfère utiliser la syntaxe suivante :

mysqldump -u User_base -pPassword_base --add-drop-tables --databases Nom_base > /tmp/base.sql

De cette façon, on obtient un script qui permet de reconstruire la base en entier si, par un hasard facheux, elle venait à être détruite.

Voir man mysqldump pour plus de précisions.

Cette commande ne nécessite pas l'arrêt du daemon mysql.

Pour le reste du script, c'est à tester.


------------------------------------------------------------------
Kubuntu 11.10 64 bits - KDE 4.7.1 - Fixe   Montage perso - Core2 Duo E8400 - P5Q Deluxe + 4Go - Nvidia Gforce 8400 GS - 2x500 Go
   ""         11.10 64 bits                     - Portable : ASUS  K72JT-TY185V core i3 380M + 4 Go - AMD Radeon HD 6370M - 500 Go

Hors ligne

#5 Le 17/10/2007, à 23:33

mikyvienne

Re : Script de save, donnez votre avis, SVP

Je vais repondre un peu en vrac
Cette base a 2 vocation, celle de gerer des donnée (ca comme toute les bases) et c'est aussi une AP pour mon BTS. Donc l'histoire de l'arret vien de ce que me dis le prof
Si on arrete pas l'acces a la base pendant qu'on la sauvegarde alors que quelqu'un est dedans en train de la modifier ca risque de faire un truc pas joli. Il faut bien etre sur qu'il n'y a personne qui accede et modifie la base durant sa sauvegarde non ? d'où mon idée de l'arreter comme ca ca met tout le monde d'accord.
Pour le "popup" je parle d'une fenetre graphique car les utilisateur de la base le feront via phpmyadmin vie un navigateur internet genre IE ou FF mais pas en SSH
Je vais essayer de trouver grace a la commande de Uggy ce fichier qui gere les message d'erreur
Knarnantais, si je comprend bien l commande en fait on copie les table de la base (toutes ?) dans un fichier temporaire (ce qui est donc assez rapide) avant de les expedier vers un FTP ?

Hors ligne

#6 Le 18/10/2007, à 01:37

Uggy

Re : Script de save, donnez votre avis, SVP

mikyvienne a écrit :

c'est aussi une AP pour mon BTS.

Je ne sais pas ce qu'est une AP..( si ce n'est un AccessPoint)..mais bref..

mikyvienne a écrit :

Donc l'histoire de l'arret vien de ce que me dis le prof
Si on arrete pas l'acces a la base pendant qu'on la sauvegarde alors que quelqu'un est dedans en train de la modifier ca risque de faire un truc pas joli. Il faut bien etre sur qu'il n'y a personne qui accede et modifie la base durant sa sauvegarde non ? d'où mon idée de l'arreter comme ca ca met tout le monde d'accord.

Je ne suis pas expert mysqldump..et je n'ai pas lu le man... Mais si la commande fait en sorte de verouiller les tables temporairement le temps de la sauvegarde (ce qui permet toujours la lecture) ??? Non ? ...
Mais bon puisque toi et ton prof en etes sur (c'est vous 2 le "tout le monde d'accord" ?)... c'est surement que vous avez lu la doc mysqldump ou il doit etre explicitement indiqué de tout stopper avant...et donc je m'incline car moi je ne l'ai pas lu..




mikyvienne a écrit :

Pour le "popup" je parle d'une fenetre graphique car les utilisateur de la base le feront via phpmyadmin vie un navigateur internet genre IE ou FF mais pas en SSH

Un bout de javascript pour ouvrir une nouvelle fenetre du navigateur...

Hors ligne

#7 Le 18/10/2007, à 07:39

KnarNantais

Re : Script de save, donnez votre avis, SVP

Bonjour,

Les modificateurs indiqués pour la commande mysqldump permettent de générer un fichier texte de commandes sql qui permettent :

1 - de recréer la base de données si elle n'existe plus.
2 - pour chaque table de recréer sa structure avec le type d'accès et la table de code utilisée si elle n'existe plus,
3 - de sauver les données sous la forme de commandes insert into.

J'avoue ne jamais m'être posé la question de devoir ou non arrêter le daemon. Depuis le temps que j'utilise cette commande, je n'ai jamais rencontré d'incident, mais peut-être ai-je tort?

Pour plus de renseignements

Mysql Manual section 21.2 Database Back-
       ups


------------------------------------------------------------------
Kubuntu 11.10 64 bits - KDE 4.7.1 - Fixe   Montage perso - Core2 Duo E8400 - P5Q Deluxe + 4Go - Nvidia Gforce 8400 GS - 2x500 Go
   ""         11.10 64 bits                     - Portable : ASUS  K72JT-TY185V core i3 380M + 4 Go - AMD Radeon HD 6370M - 500 Go

Hors ligne

#8 Le 18/10/2007, à 10:08

mikyvienne

Re : Script de save, donnez votre avis, SVP

Non Uggy le tout le monde d'accord c'etait une facon de de parler pour dire que si un user est connecté il se retrouve "dehors" qu'il le veuille ou pas
J'ai essayer de lire la notice mysqldump mais j'ai pas trouver ma reponde ne rancais et j'ai pas eu le courage d'essayer de trouver ca dans l'anglais
Parceque ca ne gene effectivement pas qu'on lise la base durant sa sauvegarde par contre qu'on la modifie a ce moment la suis pas sur que ce soit top !!!!

AP :application porfessionnelle = genre de de TP note que je dois presenter donc faut que ce soit bien fait et que je sois capable de repondre aux eventuels questions......
Je precise au passage que je ne suis plus en cour depuis janvier et que je fais donc ces AP chez moi juste avec l'aide de google et de vous.... Mon prof je le vois de tps en tps mais il ne m'aide pas vraiment roll

Bon on va laisser tomber le coup de la fenetre qui s'ouvre pour dire qu'il vont etre deconnecter je vais pas me lancer dans le java...
faut que je trouve si mysqldump stop ou gele la base durant son execustion

Hors ligne