我想随时从命令行检查BBB服务器上有多少个活动会议。我已经尝试过
$ bbb-conf --network
但没有到达任何地方。我还检查了端口80和443的活动连接数
$ netstat -anp | grep:443 | grep建立| wc -l
但是我不确定我是否可以相信这个数字。
我知道我可以使用API中的isMeetingRunning
调用,但是我只是在寻找命令行。
任何想法都会受到赞赏
以下bash脚本(可以在与BigBlueButton服务器相同的计算机上从命令行运行,将处理对BBB API getMeetings
调用的响应。
#!/bin/bash
APICallName="getMeetings"
APIQueryString=""
X=$( bbb-conf --secret | fgrep URL: )
APIEndPoint=${X##* }
Y=$( bbb-conf --secret | fgrep Secret: )
Secret=${Y##* }
S=$APICallName$APIQueryString$Secret
Checksum=$( echo -n $S | sha1sum | cut -f 1 -d ' ' )
if [[ "$APIQueryString" == "" ]]
then
URL="${APIEndPoint}api/$APICallName?checksum=$Checksum"
else
URL="${APIEndPoint}api/$APICallName?$APIQueryString&checksum=$Checksum"
fi
wget -q -O - "$URL" | grep -o '<meetingID>' | wc -w
在带电的BBB机器上测试。
注意:
APICallName
和APIQueryString
可以进行修改以提供与其他BBB API调用的接口。参见https://docs.bigbluebutton.org/dev/api.html
如果将换行符附加到其输入,命令行sha1sum
将输出不同的结果。这就是使用echo -n
而不是echo
的原因。
在最后一行中,脚本以非常幼稚的方式处理API调用的XML输出,只需计算<meetingID>
标记的出现次数。更精细的处理可能需要解析XML。