April 11, 2017

mySQL Backup

nano /usr/local/bin/backup-mysql
#!/bin/bash


DB_BACKUP="/media/nas-backup/mx1.wjw.nz/mysql/`date +%Y-%m-%d`"
DB_USER="backup"
DB_PASSWD="asd"

# Create the backup directory
mkdir -p $DB_BACKUP

# Remove backups older than 10 days
# find /backups/mysql_backup/ -maxdepth 1 -type d -mtime +10 -exec rm -rf {} \;
 
# Backup each database on the system
for db in $(mysql --user=$DB_USER --password=$DB_PASSWD -e 'show databases' -s --skip-column-names|grep -viE '(staging|performance_schema|information_schema)');
do mysqldump --user=$DB_USER --password=$DB_PASSWD --events --opt --single-transaction $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz";   
done



chmod +x /usr/local/bin/backup-mysql mysql> grant select,show view, lock tables, event on *.* to 'backup'@localhost identified by 'xxxxxx';

No comments: