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/