用于备份用户数据库的Shell脚本

时间:2010-10-13 04:06:41

标签: mysql linux shell

我有shell脚本,它首先进入主目录并备份所有文件夹,如

OCT-13-2010/username/homebck.tar.gz

我还备份了数据库,例如 如果我在user1文件夹中,那么我的所有数据库都是username_web

我使用以下内容进行备份

mysqldump --skip-lock-tables -u sqluser -ppassword --skip-extended-insert ${FOLDERNAME}_web | gzip > /backups/mysql/${date2}/DBF_${date1}_${FOLDERNAME}.sql.gz" - ${FOLDERNAME}

这工作正常,但问题是这里数据库的名称必须是username_web

因为当我在脚本中时,我无法找到user1的数据库,然后备份这些数据库。

有什么办法,因为我想将单独的数据库放在单独的文件夹中

1 个答案:

答案 0 :(得分:0)

如何定义'user1的数据库'?

如果它是以用户命名的所有数据库,您可以执行以下操作:

for db in $(mysql -h 127.0.0.1 -e "select schema_name from information_schema.schemata where schema_name like '$username\\_%';"); do
  mysqldump $db ........
done