Strona 1 z 1

[+]Skrypt bash nigdy się nie konczy

: 23 marca 2021, 20:01
autor: bullseye
Hej, zdziałałem sobie kod który wysyła mi dane z "koparki" do MQTT, i dodałem go do crontaba by wykonywał się co minutę.
Problem w tym że chyba moje wypociny sie nigdy nie kończą, bo zapychają serwer i koniec.

Mógłby ktoś zerknąć i podpowiedzieć co zrobić by skrypt wykonywał sie tylko raz ?

Kod: Zaznacz cały

#!/bin/bash
# MQTT dane
BROKER=""
TOPIC=""
USER=""
PASS=""

# Wyslij
tail -f /var/log/hive-agent.log | while read -r line; do
    json_line=$(echo ${line} | awk -F'[<>]' {'print $2'})
    if $(echo "$json_line" | jq -e 'has("method")'); then
        mosquitto_pub -h $BROKER -t $TOPIC -u "$USER" -P "$PASS" -m "$json_line"
    fi
done

Re: Skrypt bash nigdy się nie konczy

: 23 marca 2021, 20:51
autor: Yampress
zrobiłeś pewnie jakieś zapętlenie we algorytmie

Re: Skrypt bash nigdy się nie konczy

: 23 marca 2021, 20:52
autor: bullseye
wydawało mi się że nie ma żadnej pętli nieskończoności :(

Re: Skrypt bash nigdy się nie konczy

: 23 marca 2021, 21:20
autor: mariaczi
Uruchom sobie w konsoli

Kod: Zaznacz cały

tail -f /var/log/hive-agent.log 
i zobacz jak się zachowa/co się będzie działo.
Dodatkowo

Kod: Zaznacz cały

man tail
i odszukaj objaśnienie dla opcji "-f".

Re: Skrypt bash nigdy się nie konczy

: 16 kwietnia 2021, 15:34
autor: bullseye
Głupi błąd, nie doczytałem :)
Dzięki wielkie !