【发布时间】:2015-11-11 16:35:20
【问题描述】:
我一直在看这个帖子 How can I log "show processlist" when there are more than n queries?
运行这个命令可以正常工作
mysql -uroot -e "show full processlist" | tee plist-$date.log | wc -l
覆盖文件的问题
我也想在 cronjob 中运行它。
我已将此命令添加到/var/spool/cron/root:
* * * * * [ $(mysql -uroot -e "show full processlist" | tee plist-`date +%F-%H-%M`.log | wc -l) -lt 51 ] && rm plist-`date +%F-%H-%M`.log
但它不起作用。或者它可能将日志文件保存在根文件夹之外的某个位置。
所以我的问题是:如何临时记录来自特定数据库和特定表的所有查询并将整个查询保存在 1 个文件中?
注意:我正在寻找的不是慢/长查询日志,而是读取正在为数据库运行的查询的临时解决方案
【问题讨论】:
-
如果您希望
tee附加到文件而不是替换它,请使用-a选项。
标签: mysql linux ssh server hosting