MOSQUITTO_PUB(1) | Commands | MOSQUITTO_PUB(1) |
mosquitto_pub - an MQTT version 3.1.1/3.1 client for publishing simple messages
mosquitto_pub {[-h hostname] [-p port number] [ [-u username] [-P password] ] -t message-topic... | -L URL} [-A bind_address] [-c] [-d] [-i client_id] [-I client id prefix] [-k keepalive time] [-q message QoS] [--quiet] [-r] [-S] {-f file | -l | -m message | -n | -s} [--will-topic topic [--will-payload payload] [--will-qos qos] [--will-retain]] [[{--cafile file | --capath dir} [--cert file] [--key file] [--ciphers ciphers] [--tls-version version] [--insecure]] | [--psk hex-key --psk-identity identity [--ciphers ciphers] [--tls-version version]]] [--proxy socks-url] [-V protocol-version]
mosquitto_pub [--help]
mosquitto_pub is a simple MQTT version 3.1.1 client that will publish a single message on a topic and exit.
mosquitto_pub supports TLS encrypted connections. It is strongly recommended that you use an encrypted connection for anything more than the most basic setup.
To enable TLS connections when using x509 certificates, one of either --cafile or --capath must be provided as an option.
To enable TLS connections when using TLS-PSK, you must use the --psk and the --psk-identity options.
The options below may be given on the command line, but may also be placed in a config file located at $XDG_CONFIG_HOME/mosquitto_pub or $HOME/.config/mosquitto_sub with one pair of -option value per line. The values in the config file will be used as defaults and can be overridden by using the command line. The exceptions to this are the message type options, of which only one can be specified. Note also that currently some options cannot be negated, e.g. -S. Config file lines that have a # as the first character are treated as comments and not processed any further.
-A
-c, --disable-clean-session
If using this option, the client id must be set manually with --id
--cafile
See also --capath
--capath
For --capath to work correctly, the certificate files must have ".crt" as the file ending and you must run "openssl rehash <path to capath>" each time you add/remove a certificate.
See also --cafile
--cert
See also --key.
--ciphers
-d, --debug
-f, --file
--help
-h, --host
-i, --id
-I, --id-prefix
--insecure
-k, --keepalive
--key
See also --cert.
-L, --url
If the scheme is mqtt:// then the port defaults to 1883. If the scheme is mqtts:// then the port defaults to 8883.
-l, --stdin-line
-m, --message
-n, --null-message
-p, --port
-P, --pw
--proxy
If username is not given, then no authentication is attempted. If the port is not given, then the default of 1080 is used.
More SOCKS versions may be available in the future, depending on demand, and will use different protocol prefixes as described in curl(1).
--psk
--psk-identity
-q, --qos
--quiet
-r, --retain
-s, --stdin-file
-S
-t, --topic
--tls-version
-u, --username
-V, --protocol-version
--will-payload
--will-qos
--will-retain
--will-topic
mosquitto_sub can register a message with the broker that will be sent out if it disconnects unexpectedly. See mqtt(7) for more information.
The minimum requirement for this is to use --will-topic to specify which topic the will should be sent out on. This will result in a non-retained, zero length message with QoS 0.
Use the --will-retain, --will-payload and --will-qos arguments to modify the other will parameters.
Publish temperature information to localhost with QoS 1:
Publish timestamp and temperature information to a remote host on a non-standard port and QoS 0:
Publish light switch status. Message is set to retained because there may be a long period of time between light switch events:
Send the contents of a file in two ways:
Send parsed electricity usage data from a Current Cost meter, reading from stdin with one line/reading as one message:
$XDG_CONFIG_HOME/mosquitto_pub, $HOME/.config/mosquitto_pub
mosquitto bug information can be found at https://github.com/eclipse/mosquitto/issues
mqtt(7), mosquitto_sub(1), mosquitto(8), libmosquitto(3), mosquitto-tls(7)
Roger Light <roger@atchoo.org>
02/14/2019 | Mosquitto Project |