Script Linux para ler as linhas de um arquivo e publicar em um tópico MQTT

menor que 1 minutos de leitura

Atualizado em:

Script Linux que realiza a leitura de um arquivo de texto e publica cada linha em um tópico MQTT, respeitando um tempo determinado.

Dependências

  • mosquitto
  • mosquitto_pub

Para instalar o mosquitto e o mosquitto_pub:

#apt-get install mosquitto mosquitto-clients

Script

#! /bin/bash

if [ "$#" -ne 3 ]; then
    echo "Faltam alguns argumentos"
    echo "uso: leitor.sh [arquivo] [topico] [frequencia em segundos]"
    exit
fi

ARQUIVO=$1
TOPICO=$2
SLEEP=$3

echo "publicando '"$ARQUIVO"' em "$TOPICO

while true; do
	while read line; do    
		echo $line
		mosquitto_pub -t $TOPICO -m $line
		sleep $SLEEP
	done < $ARQUIVO
echo "Reiniciando arquivo"
done

OBS: O script publica em um broker local. Para se conectar em um broker remoto, adicione o parâmetro -h seguido do host no comando mosquitto_pub.

Como usar

$leitor.sh [arquivo] [topico] [frequencia em segundos]

Post relacionado

https://www.paulocollares.com.br/programacao/script-linux-para-ler-as-linhas-de-um-arquivo-e-enviar-pela-rede/

[]'s

Deixe um comentário