首页 > 解决方案 > 从命令行检查 Big Blue Button 中的活动会议数

问题描述

我想从命令行随时检查 BBB 服务器上有多少活动会议。我努力了

$ bbb-conf --网络

但无处可去。我还检查了端口 80 和 443 的活动连接数

$ netstat -anp | grep :443 | grep 已建立 | wc -l

但我不确定我是否可以相信这个数字。

我知道我可以使用isMeetingRunning来自 API 的调用,但我只是在寻找命令行。

任何想法,将不胜感激

标签: bigbluebutton

解决方案


以下 bash 脚本(可以在与 BigBlueButton 服务器相同的机器上从命令行运行)将处理对 BBB APIgetMeetings调用的响应。

#!/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 机器上测试。

笔记:

  • APICallNameAPIQueryString可以修改以提供与其他 BBB API 调用的接口。请参阅https://docs.bigbluebutton.org/dev/api.html

  • 如果将换行符附加到其输入中,命令行将sha1sum输出不同的结果。这就是echo -n使用而不是echo.

  • 在最后一行中,脚本以一种非常简单的方式处理来自 API 调用的 XML 输出,只计算<meetingID>标记的出现次数。更精细的处理可能需要解析 XML。


推荐阅读