首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux bash脚本日志输出

linux bash脚本日志输出
EN

Stack Overflow用户
提问于 2017-05-19 14:48:29
回答 3查看 479关注 0票数 0

我很难将输出输入到我脚本中的日志文件中。备份成功运行,但日志文件为空。WHen我运行我得到的脚本“警告:在命令行接口上使用密码可能是不安全的。”所以至少应该在日志文件中。(我使用的是.key文件)

代码语言:javascript
复制
mysqldump  -u root -p$Pass   --all-databases | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-19 14:53:49

那是因为,只有gzip执行中的错误才会进入文件。为了得到你想要的,用-

mysqldump -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz

票数 1
EN

Stack Overflow用户

发布于 2017-05-19 14:57:53

我同意的回答,但似乎需要添加另一个参数(-v)来启用详细的输出,比如mysqldump -v -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz

票数 2
EN

Stack Overflow用户

发布于 2017-05-19 15:06:14

您可以在终端上看到错误消息,这意味着它不会进入日志文件。

正如其他人所提到的,您正在从管道的gzip元素而不是mysqldump元素重定向stderr。

如果你把你的对线看作是一系列元素,它可能会变得很清楚是怎么回事:

  • mysqldump -u root -p$Pass --all-databases
  • gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log

你可能是在追求这个:

  • mysqldump -u root -p$Pass --all-databases 2> file.log
  • gzip > fulldbdmp-$(date +%m%d%Y).dump.gz

它变成:

代码语言:javascript
复制
mysqldump -u root -p$Pass --all-databases 2> file.log \ |
  gzip > fulldbdmp-$(date +%m%d%Y).dump.gz

边注:我强烈建议您不要忽略以下警告。它存在是有原因的。请参阅6.1.2.1密码安全最终用户指南

警告:在命令行接口上使用密码可能是不安全的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44073057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档