我一直在编写一个脚本来查找和终止慢速 mongodb 查询,如何将 db.currentOp() 的输出存储在变量中?
目前我正在使用这个但失败了
#! /bin/bash
out=""
mongo << EOF
out=db.currentOp();
EOF
echo"----------------------------"
echo"$out"
更新的脚本
#! /bin/bash
out=$(mongo --eval 'db.currentOp({op:"query"})')
echo"-----------------------"
echo"$out"
输出
./kill_slow_mongo_queries.sh: line 4: echo-----------------------: command not found
./kill_slow_mongo_queries.sh: line 5: echoMongoDB shell version v3.6.8
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("ce96f3ee-f5e1-49b5-aeef-b5766328dda3") }
MongoDB server version: 3.6.8
{ "inprog" : [ ], "ok" : 1 }: No such file or directory
Mongo 命令有多个参数,在这种情况下很方便。
'--eval' 让你运行命令,'--quiet' 让你远离混乱