Dumpmysql.sh : Différence entre versions
De wikiGite
(Page créée avec « 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... ») |
|||
Ligne 18 : | Ligne 18 : | ||
gzip ${HOST}_${DB}_${JOUR}.sql | gzip ${HOST}_${DB}_${JOUR}.sql | ||
done | 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 recoinnue en v4). |
Version du 25 mars 2010 à 09:09
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 recoinnue en v4).