Cron简单备份多个MySQL数据库

时间:2017-08-18 13:59:03

标签: mysql cron

我想知道每天使用特定前缀创建每个mysql数据库的备份的最佳方法是什么。

目前我为每个数据库设置了行的cron设置,每当我创建一个新数据库时,我都会手动添加这些行:

0 0 * * *    root    mysqldump -u backup -p 123456 website_website1 | gzip > /var/backups/websites/daily/website1_daily_`date +\%d-\%m-\%y`.sql.gz

我希望能够做的是使用一个脚本,该脚本使用网站前缀检查每个数据库并将其转储到自己的文件中。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以枚举所有数据库,并使用简单的shell脚本检查它们的前缀。有点像...

echo show databases | mysql -u backup -p 123456 | while read database; do
    if  [[ $database == my_prefix* ]]; then
        mysqldump -u backup -p 123456 $database | gzip > /var/backups/websites/daily/${database}_`date +\%d-\%m-\%y`.sql.gz
    fi
done

(未测试的)