Skip to content

Instantly share code, notes, and snippets.

@marcobiedermann
Last active March 16, 2017 20:14
Show Gist options
  • Save marcobiedermann/7d58e73b6741ba148300a834764844c5 to your computer and use it in GitHub Desktop.
Save marcobiedermann/7d58e73b6741ba148300a834764844c5 to your computer and use it in GitHub Desktop.
Backup Database
#!/usr/bin/env bash
# settings
BACKUP_DIRECTORY="backups"
SITE=""
DB_HOST=""
DB_NAME=""
DB_USER=""
DB_PASS=""
# create directories
mkdir -p ~/${BACKUP_DIRECTORY}/${SITE}/`date +%Y`/`date +%m`/`date +%d`
# zip website
tar -cvzf ~/${BACKUP_DIRECTORY}/${SITE}/`date +%Y`/`date +%m`/`date +%d`/${SITE}.tar.gz ~/${SITE}
# Dump and zip database
mysqldump -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} ${DB_NAME} | gzip > ~/${BACKUP_DIRECTORY}/${SITE}/`date +%Y`/`date +%m`/`date +%d`/${DB_NAME}.sql.gz
# Backup Website and MySQL Database every day at 3.30 am
30 3 * * * sh ~/backups/backup.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment