Outils personnels

Dumpmysql.sh

De wikiGite

Voir Mise_à_jour_automatique_des_scripts pour la création automatique du script suivant :

#!/bin/bash
# FSo 2010
# V1.2
# The script and its config file must be placed in /opt/systools directory
# or change line bellow
. /opt/systools/dumpmysql.conf

if [ ! -d $BACKUP_DIR ]
then
    mkdir -p $BACKUP_DIR
fi
cd $BACKUP_DIR
for DB in $BASE
do
    mysqldump $DB $DUMP_OPTS --password=$PASSWORD > ${HOST}_${DB}_${JOUR}.sql
    rm -f ${HOST}_${DB}_${JOUR}.sql.gz
    gzip ${HOST}_${DB}_${JOUR}.sql
done

Puis créer un fichier de config dumpmysql.conf

#!/bin/bash
# FSo 2010
# dumpmysql.sh config file

HOST=<nom du host>
PASSWORD=<mot de passe admin mysql>
BACKUP_DIR=/home/backup
JOUR=$(date +%w)
# One or some bases separated by a space
#BASE=ephoto
# OR all databases except mysql
BASE=$(mysql --execute "show databases\G" --password=$PASSWORD | grep -v row | sed -e 's/Database: //g' | grep -v mysql)
# Some options required
#DUMP_OPTS="--routines"
DUMP_OPTS=""

Modifier le host, le mot de passe, et commenter/décommenter selon qu'on veut une sauvegarde de une ou quelques bases, ou toutes les bases, et si on veut ajouter des options à mysqldump (notamment, "--routines" est nécessaire en v5 pour sauvegarder aussi les procédures et fonctions, mais n'est pas reconnue en v4).

Ne pas oublier un minimum de protection

chmod 600 dumpmysql.conf