12345678910111213141516171819202122 |
- #!/bin/bash -xe
- # Daily dump all DBs in individual files
- while true; do
- echo "Start backup at "`date`
- # Get a list of all DBs to iterate in the next steps
- databases=`mysql --host=$DB_HOST --user=root --password=$MYSQL_ROOT_PASSWORD --batch --disable-column-names --execute "show databases;"`
- for db in $databases;do
- # Skip internal databases which cannot be dumped
- if [ $db = "information_schema" ]; then echo "--> skip $db"; continue; fi
- if [ $db = "performance_schema" ]; then echo "--> skip $db"; continue; fi
- echo "--> dump $db"
- mysqldump --host=$DB_HOST --user=root --password=$MYSQL_ROOT_PASSWORD --databases $db > /mnt/backup/$db.sql
- done
- # Dump users, passwords and grants
- mysqldump --host=$DB_HOST --user=root --password=$MYSQL_ROOT_PASSWORD --system=user --insert-ignore > /mnt/backup/grants.sql
- echo "Sleeping for 1d ..................tzzzzz"
- sleep 86400
- done
|