Skip to content →

Backup (mysql dump) all your MySQL databases in separate files

Share on FacebookShare on Google+Tweet about this on TwitterShare on VKShare on TumblrPin on Pinterest

Вибачте цей текст доступний тільки в English.

Simply

#! /bin/bash
 
TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backup/$TIMESTAMP"
MYSQL_USER="backup"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="password"
MYSQLDUMP=/usr/bin/mysqldump
 
mkdir -p "$BACKUP_DIR/mysql"
 
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`
 
for db in $databases; do
  $MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done

Or for dev env

#!/bin/bash

BACKUP_DIR="/backup/"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

mkdir -p "$BACKUP_DIR/mysql"

databases=`$MYSQL -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`

for db in $databases; do
  $MYSQLDUMP --force --opt --databases $db | gzip > "$BACKUP_DIR/mysql/${db}.sql.gz"
done

Links

http://dev.mensfeld.pl/2013/04/backup-mysql-dump-all-your-mysql-databases-in-separate-files/

Share on FacebookShare on Google+Tweet about this on TwitterShare on VKShare on TumblrPin on Pinterest

Published in адміністрування