Last active
April 26, 2019 06:01
-
-
Save richardkeep/21802a59b80614867ea276fe8d182e2f to your computer and use it in GitHub Desktop.
Backup databases to Dropbox
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Setup Dropbox Oauth Access Token | |
# https://www.dropbox.com/developers/apps | |
DROPBOX_ACCESS_TOKEN= | |
cd ~ | |
git clone https://github.com/andreafabrizi/Dropbox-Uploader.git | |
$chmod +x Dropbox-Uploader/dropbox_uploader.sh | |
echo "OAUTH_ACCESS_TOKEN=$DROPBOX_ACCESS_TOKEN" > ~/.dropbox_uploader | |
mkdir -p Dropbox-Uploader/database/sql | |
cd Dropbox-Uploader/database | |
printf "Backing up databases\n" | |
exclude="Database|mysql|performance_schema|information_schema|phpmyadmin|sys" | |
for DB in $(mysql -uUSERNAME -p'PASSWORD' -e 'show databases' | tr -d "| " | grep -Ev '^('$exclude')$'); do | |
mysqldump -uUSERNAME -p'PASSWORD' $DB > "sql/$DB.sql"; | |
done | |
zip=$(date +"%Y-%m-%d") | |
printf "Compressing the sql files to $zip\n" | |
zip -r $zip sql | |
printf "Uploading $zip to Dropbox\n" | |
bash ../dropbox_uploader.sh upload "$zip.zip" databases/ | |
# Cleaning up temp files | |
unlink "$zip.zip" | |
rm -r sql/* | |
printf "Backup Complete.\n" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment