scripts/Linux/mysql_backup.sh

18 lines
415 B
Bash

#!/bin/bash
# config section
date=`date +%Y-%m-%d`
backup_dir='/mnt/mysql_backup'
retention=3
# create backup directory
mkdir -p $backup_dir
# database backup
for DB in $(mysql -e 'show databases' -sN | grep -v 'information_schema\|performance_schema'); do
mysqldump $DB > "$backup_dir/$date.$DB.sql";
done
# delete old backups
find $backup_dir -type f -mtime +$retention -name '*.sql' -execdir rm -- '{}' \;