我想知道每天为我拥有的每个具有特定前缀的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
我希望能够做的是有一个脚本,该脚本使用网站前缀检查每个数据库并将其转储到自己的文件中。
我怎样才能做到这一点?
您可以枚举所有数据库,并使用简单的 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
(未经测试(