我们编写了一个简单的脚本,用于备份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
答案 0 :(得分:2)
似乎你错误地将-r传递给了zip。因为您需要压缩单个文件而不需要递归地遍历目录结构 而且,使用管道,不要创建任何多余的文件:
#!/bin/sh
now="$(date +'%d_%m_%Y_%H_%M_%S')"
mysqldump -u Testuser -pTest123123## Testdbuser | zip dbbackup-$now.sql.zip -