Script de backup mysql sur FTP

Salut,

Comme il est toujours important de sauvegarder ses travaux, voici mon script de sauvegarde des mes bases de données mysql. Il effectue un dump des bases de données, les compresse puis les transfert sur le ftp que l’on souhaite.

Ce n’est pas énorme comme script et je l’ai fait grâce à mes faibles connaissances en bash. Il y a surement mieux mais c’est déjà ça… C’est du 100% de Moi 🙂 .
Au passage, ça me sert de mémo au cas ou 😉 .

Voici le fameux script :


#!/bin/sh
## Sauvegarde des bases de données MySQL
## sur un espace FTP.

###
## Informations du serveur MYSQL
###
USER=
MDP=
#Adresse du dossier temporaire sur lequel est placé le backup.
#Mettre l'adresse absolu. par exemple : /home/sauvegarde/
ADRESSEDOSSIERTEMP=

###
## Informations du FTP sur lequel sont envoyées les archives
###
LOGIN=
MDP2=
FTP=
#nom du dossier vers lequel placé les archives sur le ftp par exemple : /mesarchives/
DOSSIERDESTINATION=

#Ne plus toucher#
###
## Constante Date de l'archive.
###
DATE=$(date +%d-%m-%Y-%H-%M)

###
## Constante.
###
FICHIER=ADRESSEDOSSIERTEMP/mysql_dump-${DATE}.sql
FICHIER2=ADRESSEDOSSIERTEMP/mysql_dump-${DATE}.tar
FICHIER3=ADRESSEDOSSIERTEMP/mysql_dump-${DATE}.tar.gz

######
## Creation de l'archive des bases.
######

echo "Creation de l'archive ..."

cd ADRESSEDOSSIERTEMP

mysqldump --all-databases -u USER -MDP > $FICHIER

tar -cvf $FICHIER2 $FICHIER
gzip $FICHIER2
ncftpput -u LOGIN -p MDP2 -DD FTP /DOSSIERDESTINATION/ / $FICHIER3
rm $FICHIER

echo "Archives transférés ..."

N’oubliez pas de remplir les variables.

Les sauvegardes seront de la forme mysql_dump-JJ-MM-AAAA-HH-MM.tar.gz

Par la suite, il vous suffit d’automatiser cette opération en la mettant en cron. Le mieux est d’effectuer cette tâche en pleine nuit. C’est normalement à ce moment là que votre machine est la moins chargé.

2 réflexions au sujet de “Script de backup mysql sur FTP

  1. c’est simpa de partager ses scripts de sauvegarde.

    quelques commentaires :
    – pourquoi utiliser tar ?
    – pourquoi passer par un fichier temporaire ?

    un

    mysqldump –all-databases -u USER -MDP | bzip2 > $FICHIER2

    suffit

    dernière chose, il faut mieux donner la date AAMMJJHHMM, c’est plus simple pour le tri.

    voilà mes idées

  2. Salut,

    Pour le tar et le fichier temporaire, j’ai toujours fait comme ça, une mauvaise habitude 😛 .

    Par contre, je préfère le gzip car il consomme un peu moins de ressources (même si c’est au détriment de la compresseion).

    Il est clair qu’il y a surement mieux. Je ne suis pas un pro en terme d’administration serveur. Je suis développeur à la base :P.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.