Dumpmysql.sh : Différence entre versions
De wikiGite
Ligne 1 : | Ligne 1 : | ||
− | Voir [[Mise_%C3%A0_jour_automatique_des_scripts]] pour la création automatique du script | + | Voir [[Mise_%C3%A0_jour_automatique_des_scripts]] pour la création automatique du script /opt/systools/dumpmysql.sh : |
#!/bin/bash | #!/bin/bash | ||
# FSo 2010 | # FSo 2010 | ||
Ligne 42 : | Ligne 42 : | ||
ln -s /opt/systools/dumpmysql.sh dumpmysql | ln -s /opt/systools/dumpmysql.sh dumpmysql | ||
et la lancer une première fois manuellement | et la lancer une première fois manuellement | ||
− | ./dumpmysql | + | ./dumpmysql.sh |
ls -l /home/backup | ls -l /home/backup |
Version du 2 juillet 2010 à 17:26
Voir Mise_à_jour_automatique_des_scripts pour la création automatique du script /opt/systools/dumpmysql.sh :
#!/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
Si ça n'a pas déjà été fait, planifier la sauvegarde par un lien dans /etc/cron.daily
cd /etc/cron.daily ln -s /opt/systools/dumpmysql.sh dumpmysql
et la lancer une première fois manuellement
./dumpmysql.sh ls -l /home/backup