Skip to content

Instantly share code, notes, and snippets.

@cleot
Created September 4, 2016 14:17
Show Gist options
  • Save cleot/856cf2fb7e3dde61e3e81116d5ad51d0 to your computer and use it in GitHub Desktop.
Save cleot/856cf2fb7e3dde61e3e81116d5ad51d0 to your computer and use it in GitHub Desktop.
Backup Script MySQL
#!/bin/bash
#cron 0 3 * * * /usr/bin/nice -n 10 /var/backup/backup_html.sh; /usr/bin/nice -n 10 /var/backup/backup_sql.sh
# settings
MYSQL_USER="backupuser"
MYSQL_PASSWORD=""
BACKUP_DIR="/var/backup/sql"
DATE=`date +"%Y-%m-%d_%H:00"`
HOUR=`date +"%H"`
mkdir "$BACKUP_DIR/$DATE/"
databases=`mysql --user=$MYSQL_USER --password=$MYSQL_PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db"
mysqldump --force --opt --user=$MYSQL_USER --password=$MYSQL_PASSWORD --databases $db > $BACKUP_DIR/$DATE/$db.sql
gzip $BACKUP_DIR/$DATE/$db.sql
fi
done
#delete old backups
cd $BACKUP_DIR && ls | /usr/bin/sort -r | /usr/bin/tail -n +7 | /usr/bin/xargs -n 1 rm -rf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment