Skip to content

Instantly share code, notes, and snippets.

@Sam-R
Created July 7, 2021 12:26
Show Gist options
  • Save Sam-R/ed44d21c31fb03b9d449a5e258b73533 to your computer and use it in GitHub Desktop.
Save Sam-R/ed44d21c31fb03b9d449a5e258b73533 to your computer and use it in GitHub Desktop.
backup non system mysql databases for rsnapshot to pickup with a backup user
#!/bin/bash
OUTPUT_DIR=/root
BACKUP_USER=backupuser
BACKUP_DIR=/home/backupuser/
# Identify the databases on this server
databases=$(mysql -s -r -N -e 'show databases where `Database` not in("information_schema", "performance_schema", "accounts", "mysql", "sys")')
for database in $databases; do
mysqldump --single-transaction --skip-lock-tables "$database" | gzip > "$OUTPUT_DIR/$database".sql.gz
chown "$BACKUP_USER" "$OUTPUT_DIR/$database".sql.gz
mv "$OUTPUT_DIR/$database".sql.gz "$BACKUP_DIR"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment