【问题标题】:To Automate MySQL dump自动化 MySQL 转储
【发布时间】:2015-02-21 18:59:41
【问题描述】:

我们编写了一个简单的脚本来备份 mysql 转储并制作一个 zip 转储文件。请找到脚本。

#!/bin/sh
now="$(date +'%d_%m_%Y_%H_%M_%S')"
mysqldump -u Testuser -pTest123123## Testdbuser > mysqlnew.sql
mv mysqlnew.* dbbackup-$now.sql
zip -r dbbackup-$now.sql.zip dbbackup-$now.sql

上述脚本将备份并重命名转储文件,但无法压缩转储文件在压缩时出现错误。如果我在 bash 中运行上述 zip 命令,它将执行。请找出以下错误。

*.sql    zip warning: name not matched: dbbackup-23_12_2014_15_29_40.sql)
zip . -i dbbackup-23_12_2014_15_29_40ackup-23_12_2014_15_29_40

【问题讨论】:

  • 为什么是mv 步骤?为什么不只是mysqldump ... > dbbackup-$now.sql
  • 嗨,Marc,我以前试过,但它为文件名附加了字母数字字符,并出现找不到文件错误...

标签: mysql linux linux-kernel redhat


【解决方案1】:

您似乎有一个错误将 -r 传递给 zip。因为您需要压缩单个文件并且不需要递归地遍历目录结构。
还有更多,使用管道,不要创建任何多余的文件:

#!/bin/sh
now="$(date +'%d_%m_%Y_%H_%M_%S')"
mysqldump -u Testuser -pTest123123## Testdbuser | zip dbbackup-$now.sql.zip -

【讨论】:

    猜你喜欢
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多