dump.sh 913 B

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