我有一个bash脚本来检查MongoDB数据库,如果满足某些条件,则发送电子邮件。
Mongo提供--eval选项以返回值。但是,不是像这样拥有以下内容:
ALERT=true|false 我有以下内容:
ALERT= MongoDB shell version: 2.6.1
Mongo提供--eval选项以返回值。但是,不是像这样拥有以下内容:
ALERT=true|false 我有以下内容:
ALERT= MongoDB shell version: 2.6.1
#!/bin/bash
echo "WatchDog Jerry"
ALERT=$(mongo ob --eval 'var now = new Date().getTime(), alert = false; db.sess.find().forEach(function(sess){ var delay = 1 * 60 * 1000; var ts = sess.ts.toNumber(); if((now - ts) > delay) alert = true;}); print(alert);')
echo "alert: $ALERT"
if [ "$ALERT" == "true" ]; then
mail -s "ALARM - WatchDog Jerry" marco@test.com < /root/watchdog/email
fi
有人可以帮我吗?我需要将JavaScript变量“alarm”分配给Bash变量ALARM。
ALERT = $(mongo ...)
。但首先,只需获取mongo db --eval ...
以返回您想要在命令行运行时查看的信息。如果您无法通过查看Mongo文档或在Google上搜索来解决问题,请发布单独的问题并附上MongoDB错误消息。祝你好运。 - shellter