我无法在脚本中输出到我的日志文件中。备份运行成功但日志文件为空。当我运行脚本时,我得到"警告:在命令行界面上使用密码可能不安全。"所以至少应该在日志文件中。 (我使用的是.key文件)
mysqldump -u root -p$Pass --all-databases | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log
答案 0 :(得分:2)
我同意this的答案,但似乎需要添加另一个参数( -v )来启用详细输出,例如mysqldump -v -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
。
答案 1 :(得分:1)
那是因为,只有gzip执行错误才会进入文件。要获得所需内容,请使用 -
mysqldump -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
答案 2 :(得分:1)
您可以在终端上看到错误消息,这意味着它不会进入日志文件。
正如其他人所提到的,您正在从管道的gzip
元素重定向stderr,而不是mysqldump
元素。
如果您将自己的pipline视为一系列元素,可能会清楚发生了什么:
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
哪个成为:
mysqldump -u root -p$Pass --all-databases 2> file.log \ |
gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
旁注:我强烈建议您不忽略以下警告。这是有原因的。见6.1.2.1 End-User Guidelines for Password Security
警告:在命令行界面上使用密码可能不安全