mosquitto常用命令

Mosquitto MQTT服务常用命令手册

一、Systemd 服务启停管理

# 查看运行状态
sudo systemctl status mosquitto

# 启动服务
sudo systemctl start mosquitto

# 停止服务
sudo systemctl stop mosquitto

# 重启服务
sudo systemctl restart mosquitto

# 设置开机自启
sudo systemctl enable mosquitto

# 取消开机自启
sudo systemctl disable mosquitto

# 修改service配置后重载systemd(出现配置变更警告必用)
sudo systemctl daemon-reload

二、用户账号管理(默认密码文件:/etc/mosquitto/passwd)

# 1.查找密码文件路径
sudo grep password_file /etc/mosquitto/mosquitto.conf

# 2.列出所有用户名
sudo awk -F':' '{print $1}' /etc/mosquitto/passwd

# 3.新建用户(交互式输入密码,推荐,不覆盖原有用户)
sudo mosquitto_passwd /etc/mosquitto/passwd 用户名

# 4.新建用户(命令行直接带密码,脚本使用)
sudo mosquitto_passwd -b /etc/mosquitto/passwd 用户名 密码

# 5.重置已有用户密码
sudo mosquitto_passwd /etc/mosquitto/passwd 用户名

# 6.删除指定用户
sudo mosquitto_passwd -D /etc/mosquitto/passwd 用户名

# ⚠️危险:-c参数会清空全部用户并新建,慎用!
# sudo mosquitto_passwd -c /etc/mosquitto/passwd 用户名

三、查看在线客户端连接数量

# 方式1:订阅系统主题获取在线连接数(推荐)
mosquitto_sub -h localhost -t '$SYS/broker/clients/connected' -C 1

# 查看历史最大连接、总连接数
mosquitto_sub -h localhost -t '$SYS/broker/clients/maximum' -C 1

# 方式2:端口连接统计(1883默认mqtt端口)
ss -tan | grep :1883 | grep ESTAB | wc -l

# 实时查看连接日志
tail -f /var/log/mosquitto/mosquitto.log

四、本地测试发布 / 订阅消息

# 订阅主题(带账号密码)
mosquitto_sub -h localhost -t "topic名称" -u 用户名 -P 密码

# 发布一条消息
mosquitto_pub -h localhost -t "topic名称" -m "消息内容" -u 用户名 -P 密码

五、配置文件查询

# 查看是否开启匿名访问
sudo grep -i allow_anonymous /etc/mosquitto/mosquitto.conf

# 全局搜索配置关键字
sudo grep -r "关键字" /etc/mosquitto/

添加新评论