gpt4 book ai didi

bash - 如何从 bash 脚本正确启动 ejabberdctl?

转载 作者:行者123 更新时间:2023-12-04 19:07:08 25 4
gpt4 key购买 nike

我需要从 csv 文件在 ejabberd 中注册成千上万的用户。为此,我编写了一个简单的脚本。

#!/bin/sh
OLDIFS=$IFS
IFS=','
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read username domain pass p1 p2 p3 p4
do
echo "ejabberdctl register $username $domain $pass"
ejabberdctl register $username $domain $pass
done < users.csv
IFS=$OLDIFS
但最后,答案是:Error: cannot_register
如果我只是运行从输出复制的行,一切都很好。用户是正常创建的。

最佳答案

这只是稍后的一个小技巧:一旦你的循环工作,如果你认为 ejabberdctl 太慢,你可以尝试使用 ReST API。执行许多请求时,这应该快得多。
临时配置类似这样的东西(记得在完成后删除它):

listen:
-
port: 5280
module: ejabberd_http
tls: false
request_handlers:
/api: mod_http_api

api_permissions:
"console commands":
from:
- ejabberd_ctl
- mod_http_api
who: all
what: "*"

modules:
mod_http_api: {}
然后在 shell 中执行这个来注册一个帐户:
curl 'localhost:5280/api/register?user=user2&host=localhost&password=somepass123'

关于bash - 如何从 bash 脚本正确启动 ejabberdctl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66353404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com