Wpis z mikrobloga

Mirkowie, podpowiedzcie co robię źle: takie polecenie wydaję w #linux

rtl_433 -F json -T 90 > data.json
rtl 433 to do obsługi takiego dongla dvbt, zapisuje dane w formacie json do pliku data.json i czas wykonywania tego polecenia to 90 sekund. To działa, dane w pliku są. Tak wygląda przykładowe wywołanie tego:

malina@raspberrypi:~$ rtl_433 -F json -T 90 > data.json
rtl_433 version 19.08-87-g79d241d branch master at 201911040144 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see [https://triq.org/](https://triq.org/) for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/home/malina/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...

Consider using "-M newmodel" to transition to new model keys. This will become the default someday.
A table of changes and discussion is at [https://github.com/merbanan/rtl_433/pull/986.](https://github.com/merbanan/rtl_433/pull/986.)

Registered 112 out of 141 device decoding protocols [ 1-4 8 11-12 15-17 19-21 23 25-26 29-36 38-60 63 67-71 73-100 102-104 108-116 119 121 124-128 131-141 ]
rtl_433: warning: 104 "Wireless M-Bus, Mode C&T, 100kbps (-f 868950000 -s 1200000)" does not support CSV output
Detached kernel driver
Found Fitipower FC0012 tuner
Exact sample rate is: 250000.000414 Hz
Sample rate set to 250000 S/s.
Tuner gain set to Auto.
Tuned to 433.920MHz.
Allocating 15 zero-copy buffers
Time expired, exiting!
Reattached kernel driver

A teraz jak chcę to dodać do crona, np:

*/10 * * * * rtl_433 -F json -T 90 > data.json
to lipa. Sam plik data.json się pojawia, natomiast jest pusty. W logu od crona błędów brak, jedynie info o tym, że "no mta installed", ale to chyba nie jest przyczyna?
Co tutaj może być źle?
#kiciochpyta #cron #skryptowanie #raspberrypi
  • 5
@OperatorHydrolokator polecenia w crontab uruchamiane sa z uprawnieniami innego użytkownika. Proponuję przejrzeć ustawienia/uprawnienia, sprawdzić gdzie znajduje się aplikacja (which rtl_433), przenieść plik konfiguracyjny do etc. Ogólnie, jeśli skrypt/program sam nie skonczy swojego dzialania to może to być finalnie kłopotliwe, dodatkowo nazwa pliku powinna się zmieniać, by nie nadpisywać danych (np coś w stylu log_radio_'date +"%F-%T"', można też do pliku dopisywać, czy skorzystać z loga systemowego z logrotate i innych rozwiązań)
@Mlekovita bylo pozno w nocy, bylem zmeczony i nie moglem pozniej edytowac ;) w skrocie mialem na mysli to ze jesli masz przykladowo zaszyfrowany home i dodawales rzeczy nie w swoim crontabie a np roota, sudo crontab -e to punkt montowania moze nie istniec. Niemniej, problem rozwiazany.