linux bash 脚本日志输出
linux bash script log output
我无法将输出输出到脚本中的日志文件中。备份 运行s 成功,但日志文件为空。当我 运行 脚本时,我得到 "Warning: Using a password on the command line interface can be insecure." 所以至少应该在日志文件中。 (我使用的是 .key 文件)
mysqldump -u root -p$Pass --all-databases | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log
那是因为,只有执行 gzip 时出现的错误才会进入文件。要得到你想要的,使用 -
mysqldump -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
我同意 的回答,但似乎需要添加另一个参数 (-v) 来启用详细输出,例如 mysqldump -v -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
.
您可以在终端上看到错误消息,这意味着它不会进入日志文件。
正如其他人所提到的,您正在从管道的 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
变成:
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
Warning: Using a password on the command line interface can be insecure
我无法将输出输出到脚本中的日志文件中。备份 运行s 成功,但日志文件为空。当我 运行 脚本时,我得到 "Warning: Using a password on the command line interface can be insecure." 所以至少应该在日志文件中。 (我使用的是 .key 文件)
mysqldump -u root -p$Pass --all-databases | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz 2> file.log
那是因为,只有执行 gzip 时出现的错误才会进入文件。要得到你想要的,使用 -
mysqldump -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
我同意 mysqldump -v -u root -p$Pass --all-databases 2>file.log | gzip > fulldbdmp-$(date +%m%d%Y).dump.gz
.
您可以在终端上看到错误消息,这意味着它不会进入日志文件。
正如其他人所提到的,您正在从管道的 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
变成:
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
Warning: Using a password on the command line interface can be insecure