image image image
Introduction au développement en couche
Le déclin de l'informatique au Qc
Devenir un développeur Freelance
Introduction au développement en couche En entreprise, les logiciels les plus fréquemment développés sont des interfaces utilisateurs permettant la gestion d'un ensemble de données tel que les données clients d'une entreprise. Ils veulent pouvoir ajouter, supprimer et modifier les informations de leurs clients. Une base de données permet de stocker leur information.
  Plus ...
Le déclin de l'informatique au Qc Les années 1990 ont connu une fulgurante explosion dans tous les domaines se rapportant à l'informatique et aux nouvelles technologies. Dans ces années, on pouvait voir une quantité phénoménale d'étudiants en informatique qui cherchait à faire fortune dans un domaine en plein essor. La diversité des emplois et le nombre de postes disponibles étaient en constante augmentation.

Plus ...
Devenir un développeur Freelance Avez-vous déjà rêvé d'être un développeur web indépendant; Freelance ? Que vous travailliez pour quelqu'un ou que vous développez pour le plaisir, il y a quelques trucs et conseils que vous pouvez utiliser pour vous faciliter la vie en tant que développeur web indépendant même si vous ne le faites qu'à temps partiel.

Plus ...
Mardi Mars 16 , 2010
TEXT_SIZE
   

MySQL

Script de sauvegarde des bases MySQL.

Voici un petit script que j'ai réalisé qui permet de sauvegarder toutes les bases MySQL dans des fichiers séparés. Ce script sauvegarde les bases de données MySQL d'un serveur et réalise les opérations suivantes :

  • Check de la base de donnée.
  • Analyse de la base de donnée.
  • Dump de chaque base de données dans un fichier SQL distinct.
  • Tar des fichiers SQL générés dans un seul fichier.
  • Envoi par FTP du fichier .tar.gz de sauvegarde vers un autre serveur.
  • Suppression des fichiers locaux de sauvegardes de plus de 10 jours.

Source originale

1. Paramétrage du script :

#---------------------------------------------------------------#
# Paramétrage de la connection MySQL                                     #
#---------------------------------------------------------------#
 
#Nom de l'utilisateur qui lance le backup
user=nom_de_l_utilisateur
#Machine sur laquelle on se connecte host=host_mysql
#Mot de passe de l'utilisateur de backup pass=mot_de_passe
 
# Outil de dump MYSQLDUMP=mysqldump
#Outil de check MYSQLCHECK=mysqlcheck
# Options passées à MysqlDUMP OPTIONS="--add-drop-database --add-drop-table --complete-insert --routines
--triggers --allow-keywords --max_allowed_packet=50M --force"
    #---------------------------------------------------------------# # Paramétrage de la sauvegarde # #---------------------------------------------------------------#   # Répertoire temporaire pour stocker les backups TEMPORAIRE="/tmp/backup_mysql"   # Nom du serveur MACHINE="$(hostname)"   # Variable contenant la liste des bases de données BASES=""   # Date DATE="$(date +"%d-%m-%Y")" DATE2=`date --date '10 days ago' "+%d-%m-%Y"`
 
# Nom des fichiers de backup # Répertoire de destination du backup DESTINATION="/home/backups/mysql" FICHIER_BACKUP=$MACHINE"_BACKUP_MYSQL_"$DATE".tar.gz" FICHIER_EFFACER=$MACHINE"_BACKUP_MYSQL_"$DATE2".tar.gz"   #Informations FTP LOGIN_FTP=login_ftp
PASS_FTP=mot_de_passe_ftp
HOST_FTP=serveur_ftp



Vous pouvez paramétrer les options passées à MysqlDUMP dans la variable OPTIONS.
Dans le script de base les options suivantes ont été paramétrées :

--add-drop-database : ajoute les énoncés "DROP DATABASES"
--add-drop-table : ajoute les énoncés "Drop TABLE"
--routines : Sauvegarde les procédures et les fonctions pour chaque table
--triggers : sauvegarde les triggers de chaque table
--allow-keywords : Autorise les noms de colonnes étant des mots clés MySQL
--max_allowed_packet=50M : fixe la taille maxi des paquets envoyés à 50Mo
--force : permet d'ignorer les erreurs



2. Process de sauvegarde

#---------------------------------------------------------------#
# Process de sauvegarde                                         #
#---------------------------------------------------------------#
 
# Création du répertoire temporaire
if [ -d $TEMPORAIRE ];
then echo "Le repertoire existe";
else mkdir $TEMPORAIRE;
fi     # On construit la liste des bases de données BASES="$(mysql -u $user -h $host -p$pass -Bse 'show databases')"   # On lance le dump des bases for db in $BASES do #On lance un check et une analyse pour chaque base de donnée $MYSQLCHECK -u $user -h $host -p$pass -c -a $db # On lance un mysqldump pour chaque base de donnée $MYSQLDUMP -u $user -h $host -p$pass $OPTIONS $db -R >
$TEMPORAIRE"/"$MACHINE"-"$db"-"$DATE".sql";
done     # Création de l'archive contenant tout les dump #Cette archive est stockée dans le dossier défini pour la sauvegarde if [ -d $DESTINATION ]; then cd $TEMPORAIRE tar -cvzf $DESTINATION"/"$FICHIER_BACKUP *
fi     # On transfere l'archive par FTP cd $DESTINATION ftp -v -n $HOST_FTP <<SCRIPT
user $LOGIN_FTP $PASS_FTP bin put $FICHIER_BACKUP bye SCRIPT     # On supprime le fichier de plus de x jours if [ -f $DESTINATION"/"$FICHIER_EFFACER ]; then rm $DESTINATION"/"$FICHIER_EFFACER fi   # On suprime le répertoire temporaire if [ -d fichier ]; then rm -Rf $TEMPORAIRE fi
Pour question ou commentaire, reportez-vous à la section ci-dessous, ou aller 
faire un tour sur notre forum
Commentaires (3)Add Comment
...
Par g , mai 10, 2009
smilies/wink.gifsmilies/grin.gifsmilies/grin.gifsmilies/grin.gifsmilies/angry.gifsmilies/angry.gifsmilies/angry.gifsmilies/cool.gifsmilies/cool.gifsmilies/tongue.gif
Je n'arrive pas à faire fonctionner ce script :(
Par mX , octobre 11, 2009
Bonjour,

C'est exactement ce que je cherche, mais je n'arrive pas à le faire fonctionner, y a t'il des nouveautés dans la manière de codé ce script ?

Si je modifie juste les parametres et que je le lance, j'ai des "command not found" à chaque saut de ligne...

Si quelqu'un peut me faire signe pour que j'expose un peu plus mon problème, merci d'avance
Je n'arrive pas à faire fonctionner ce script :(
Par xulien , décembre 21, 2009
@g 7 mois plus tards...
le script est au format dos... il faut le convertir avec dos2unix pour résoudre ton problème

cdt

Ecrivez un commentaire
Réduire l'éditeur | Agrandir l'éditeur

busy

Réseaux sociaux

Add this page to Blinklist Add this page to Del.icoi.us Add this page to Digg Add this page to Facebook Add this page to Furl Add this page to Google Add this page to Ma.Gnolia Add this page to Newsvine Add this page to Reddit Add this page to StumbleUpon Add this page to Technorati Add this page to Yahoo

Connexion

Publicités

Services offerts

image

Développement Web

Que ce soit pour faire la conception d'un site Web ou pour la refonte d'un site existant, nous avons la solution.

La création et la conception Web sont au cœur de nos activités. Chaque concept et création sont différents, et chaque client est unique. Rien n’est laissé au hasard pour faire de votre création multimédia un outil unique de promotion.

image

Développement Windows

Quel que soit votre projet, nous pouvons le réaliser pour vous !

Grâce à notre expertise en programmation, nous sommes en mesure de concevoir une variété d’applications qui pourront vous permettre d’augmenter votre clientèle, de la fidéliser ou encore de réduire vos coûts d’opération ! Nos critères élevés de contrôle de qualité ainsi que la grande expertise de nos programmeurs et de nos chargés de projets contribuent au succès des mandats qui nous sont confiés.

image

Base de données

...
image

Autres

Quel que soit vos projets ou vos idées, contactez nous!

Grâce à notre expérience et notre expertise en informatique, nous serons en mesure d'évaluer vos projets et nous pourrons trouver une solution à vos problèmes. Que ce soit de la programmation ou de la base de données ou bien tout autres problèmes informatiques, contactez nous, nous serons là pour vous.