Dumpmysql.sh
De wikiGite
Révision datée du 25 mars 2010 à 09:11 par Frank (discussion | contributions)
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