Skip to content

Instantly share code, notes, and snippets.

@adamz01h
Created August 17, 2023 16:49
Show Gist options
  • Select an option

  • Save adamz01h/21eda8b5d9c0121713e85ffdc55d86fd to your computer and use it in GitHub Desktop.

Select an option

Save adamz01h/21eda8b5d9c0121713e85ffdc55d86fd to your computer and use it in GitHub Desktop.
Mysql backup script
#!/bin/bash
host=""
username=""
password=""
database=""
datestamp=$(date +"%m-%d-%Y")
cd "/databackup/backup"
##Start DATABASE BACKUP
rm *.sql
for x in `mysql --skip-column-names -h$host -u$username -p$password $database -e 'show tables;'`; do
##Verbose
echo working on $x.sql backup...
mysqldump --hex-blob -h$host -u$username -p$password $database $x > "$x.sql"
done
##Verbose
echo Compressing files...
#xz better compression very slow
#error=$((tar cv *.sql | xz > "MySQL_"$datestamp.tar.xz) 2>&1)
#fast compression double xz size
error=$((tar -czvf "MySQL_"$datestamp.tar.gz *.sql) 2>&1)
#tar cv *.sql | xz --verbose > "MySQL_"$datestamp.tar.xz
if [ $? -eq 0 ]; then
echo OK
else
echo "There was an error. $error" | mail -s "Subject: Backup" <email> "Backup Bot<email>"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment