首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在变量中查询股票结果并发送电子邮件

在变量中查询股票结果并发送电子邮件
EN

Stack Overflow用户
提问于 2020-07-09 20:45:44
回答 1查看 24关注 0票数 0

我正在尝试监控交换机的特定端口。如果我的查询返回一个数字>= 2,我必须发送电子邮件。

我已经测试了我的查询,它在Mysql CLI中工作:

代码语言:javascript
复制
SELECT COUNT(message)
FROM devices, eventlog WHERE sysName = 'sysName' 
AND message = 'ifOperStatus: up -> down' 
AND datetime >= now() - INTERVAL 15 MINUTE

此查询返回一个正确值。因此,我决定创建一个脚本来执行查询并获取信息:

代码语言:javascript
复制
#!/usr/bin/bash

mysql -u DB_USER -p PASSWORD DB_NAME <<MY_QUERY

SELECT COUNT(message)
FROM devices, eventlog WHERE sysName = 'swysName' 
AND message = 'ifOperStatus: up -> down' 
AND datetime >= now() - INTERVAL 15 MINUTE

MY_QUERY

当我在终端中执行这个脚本时,我得到了这个:

代码语言:javascript
复制
librenms@librenms:/opt/librenms/scripts$ bash -x test1.sh
+ mysql -u DB_USER '-p PASSWORD' DB_NAME
COUNT(message)
0

现在我必须在一个变量中获取query的值,并在脚本中使用"if“测试变量,如下所示:

代码语言:javascript
复制
....
if ($nb >= 2)

然后,如果条件为真,则向警报管理员发送电子邮件。我不知道如何在变量中获取值并在bash脚本中通过邮件发送。如果有人能帮我..。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-07-09 21:44:25

首先要得到mysql查询的结果:

代码语言:javascript
复制
RES = $(mysql -u DB_USER -p PASSWORD DB_NAME <<$MY_QUERY)

然后使用以下命令发送:

代码语言:javascript
复制
echo $RES | mail -s "Information" email@email.com
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62815146

复制
相关文章

相似问题

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