Linux Mysql - Sauvegarde & compression

Quelques commandes bash utiles pour mysql

  1. su -c "mysqldump -u$user-p$password $mydatabase | bzip2 > /$mypath/`date +%F-%H%M`_$output.sql.bz2" $user

Sauvegarder toute la base en concaténant le nom de l’hostname + la date pour le nom du fichier de sauvegarde :

  1. mysqldump -u$user -p$password --all-database | bzip2 > $(date +%F-%H%M)-$(hostname -A).tar.bz2

En théorie la commande ci-dessus devrait fonctionner sans problème.
J’ai eu un bug ? sur ma debian, avec le résultat de la commande de hostname -a qui me renvoyait systématique un espace en fin de chaîne.

Je vous laisse apprécier la basherie ci-dessous visant a nommer le fichier de sortie en supprimant l’espace indisposant avec la commande sed.

  1. mysqldump -u$user-p$pass --all-databases | bzip2 > $(echo "$(date +%F-%H%M)-$(hostname -A)" | sed 's/ //g').sql.bz2

Pour importer une sauvegarde Mysql au format bz2 sans faire une décompression préalable.

  1. bunzip2 < dump.sql.bz2 | mysql -uuser -ppass database