我试图在从命令行执行脚本时将日志从 MySQL 获取到文件中。
例如
mysql -v mydb u- alex -p**** < please_run_me.sql > /tmp/file.log
现在,工作已完成,但 file.log 为空。我认为 -v 会给我想要的输出。我想了解我如何
- 将 MySQL 的输出获取到 file.log 中
- 或者更好的是,仅在作业失败时才将内容放入 file.log (但这两者都很方便,因为当我在命令行中测试时我想知道发生了什么)
- 通过电子邮件向自己发送错误和/或其他内容
(最终这将以 cron 作业结束)。
答案1
使用时需要重定向stderr
才能获取日志输出-v
。
你需要做类似的事情:
mysql -v mydb u- alex -p**** < please_run_me.sql 2>&1 > /tmp/file.log
重定向2>&1
到,然后您重定向stderr
到。请记住,这将覆盖-如果您想附加到它,请使用它。stdout
/tmp/file.log
>
/tmp/file.log
>>