Script for dumping a database to /tmp/dbbackup/
#!/bin/sh
rm -rf /tmp/dbbackup/
MYSQL_USER="root"
MYSQL_PASS="password"
NOW=$(date +"%Y-%m-%dT%H_%M_%S")
BACKUP_DIR=/tmp/dbbackup/$NOW
test -d "$BACKUP_DIR" || mkdir -p "$BACKUP_DIR"
# Get the database list, exclude information_schema
for db in $(mysql -B -s -u $MYSQL_USER --password=$MYSQL_PASS -e 'show databases' | grep -v information_schema | grep -v performance_schema)
do
# dump each database in a separate file
mysqldump --default-character-set=utf8 -u $MYSQL_USER --password=$MYSQL_PASS "$db" | gzip > "$BACKUP_DIR/$db.sql.gz"
done