Backup all databases Script
MySQL
#!/bin/bash DB_BACKUP="/var/db-backup/backups/`date +%Y-%m-%d`" DB_USER="root" DB_PASSWD="password" HN=`hostname | awk -F. '{print $1}'` # Create the backup directory mkdir -p $DB_BACKUP # Remove backups older than 10 days find /var/db-backup/backups/ -maxdepth 1 -type d -mtime +10 -exec rm -rf {} \; # Option 1: Backup each database on the system using a root username and password for db in $(mysql --user=$DB_USER --password=$DB_PASSWD -e 'show databases' -s --skip-column-names|grep -vi information_schema); do mysqldump --user=$DB_USER --password=$DB_PASSWD --opt --skip-lock-tables $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz"; done # Option 2: If you aren't using a root password then comment out option 1 and use this # for db in $(mysql -e 'show databases' -s --skip-column-names|grep -vi information_schema); # do mysqldump --opt $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz"; # done ~