在测试蚊子持久性的过程中,我已经将mosquitto.db从持久性位置移除,以便有一个新的开始。但是,令我懊恼的是,即使在重新启动代理之后,也不会创建该文件。
我是否误解了代理按照配置创建.db文件的错误?任何关于如何获得新的mosquitto.db文件的提示都将不胜感激。
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
pid_file /var/run/mosquitto.pid
max_inflight_messages 1
persistence true
persistence_file mosquitto.db
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
password_file /etc/mosquitto/passwd
allow_anonymous false
max_queued_messages 1000000
autosave_interval 30
# autosave_on_changes false发布于 2018-05-31 08:13:34
如果在代理运行时删除该文件,则很可能不会重新创建该文件,因为代理已经保存了一个打开的文件句柄。
当文件被进程打开时,删除它并不会实际删除文件,只会删除目录中的条目,该进程将继续读取/写入文件,直到句柄关闭为止。
如果你在删除文件后重新启动蚊帐,它不会写到文件中,直到它实际有一些数据要写到它。
现在应该写入包含在客户端断开连接时发布的消息的文件。
https://stackoverflow.com/questions/50617961
复制相似问题