Skip to content

Instantly share code, notes, and snippets.

@timbillstrom
Created December 9, 2016 13:30
Show Gist options
  • Save timbillstrom/42bf7d0e40e85825eee0749f7afdd7d2 to your computer and use it in GitHub Desktop.
Save timbillstrom/42bf7d0e40e85825eee0749f7afdd7d2 to your computer and use it in GitHub Desktop.
Bash - Backup DB and site files to Dropbox folder.
#!/bin/bash
backup_path="/backup/$(date +"%y-%m-%d")/$(date +"%H-%M")-backup"
initdump () {
mkdir -p /tmp_backup
dump
storage
}
dump () {
# Backs up database
# Database credentials
user=""
password=""
host=""
db_name=""
mkdir -p $backup_path
date=$(date +"%d-%b-%Y-%H%M")
# Set default file permissions
umask 177
# Dump database into SQL file
mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql
# Backs up site
# Moves files to temp folder
cp -a /var/www/html/. $backup_path/wordpress/
}
storage () {
# Saves all the files
zip_filename=wordpress-$(date +"%y-%m-%d-%H%M%S")
tar -zcvf /tmp_backup/$zip_filename.tar.gz $backup_path
curl -H "Authorization: Bearer <token>" https://api-content.dropbox.com/1/files_put/auto/ -T /tmp_backup/$zip_filename.tar.gz
rm -rf /backup
}
initdump
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment