自动化MySQL转储

时间:2014-12-23 15:51:18

标签: mysql linux linux-kernel redhat

我们编写了一个简单的脚本,用于备份mysql转储并生成转储文件的压缩文件。请找到该脚本。

#!/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

1 个答案:

答案 0 :(得分:2)

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

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