mysql - 备份用户数据库的Shell脚本

标签 mysql linux shell

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

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

我还备份了数据库,ef 如果我位于 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 的数据库然后备份它们。

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

最佳答案

如何定义“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

关于mysql - 备份用户数据库的Shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3920695/

相关文章:

windows - Unix 命令/脚本可以在 Windows 上运行吗?

linux -/etc/hosts 没有被浏览器读取?

MySQL:在 SQLException 上将 session 变量设置为 NULL

mysql - 在 MySQL 中重新设置 AUTO_INCREMENT 的目的是什么?

php - Eloquent 不链接表

c - Linux套接字绑定(bind)连接

linux - linux下的思维导图工具

linux - 在 shell 脚本中获取命令输出

python - 如何在后台启动 python XMLRPC 服务器?

mysql - 从 mysql 表中的列中选择最大值、最小值、最后一个值