bigbluebutton - 从命令行检查 Big Blue Button 中的活动会议数
问题描述
我想从命令行随时检查 BBB 服务器上有多少活动会议。我努力了
$ bbb-conf --网络
但无处可去。我还检查了端口 80 和 443 的活动连接数
$ netstat -anp | grep :443 | grep 已建立 | wc -l
但我不确定我是否可以相信这个数字。
我知道我可以使用isMeetingRunning
来自 API 的调用,但我只是在寻找命令行。
任何想法,将不胜感激
解决方案
以下 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 机器上测试。
笔记:
APICallName
和APIQueryString
可以修改以提供与其他 BBB API 调用的接口。请参阅https://docs.bigbluebutton.org/dev/api.html如果将换行符附加到其输入中,命令行将
sha1sum
输出不同的结果。这就是echo -n
使用而不是echo
.在最后一行中,脚本以一种非常简单的方式处理来自 API 调用的 XML 输出,只计算
<meetingID>
标记的出现次数。更精细的处理可能需要解析 XML。
推荐阅读
- python - 当我运行测试时,django 如何重新定义 DJANGO_SETTINGS_MODULE?
- c# - 对象类型和泛型 T 类型的函数重载所需的优先级说明
- java - Spring Bean 验证给出 ConstraintDeclarationException
- macos - 当我运行我的 cpp 文件时,由于未捕获的异常而终止应用程序
- c - 我可以将 int 传递给 C 中的 void 函数吗?
- python - 如何使用一个顶级列对多索引熊猫数据框进行排序?
- java - 服务器端没有响应(基本的java客户端-服务器)
- excel - 如何将数据从工作表复制到空行上的另一个工作表
- c# - 可变输入检测
- javascript - 将 s3.getObject 响应转换为 File 对象