Webソケットを介してネットワークデバイスからいくつかのデータを取得しようとしています。コマンドラインでは正常に動作します。ただし、cronで実行したときに発生する唯一のことは、生成された出力ファイルに0バイトが含まれることです。変数の有無にかかわらず試しましたSHELL
。コマンド出力をキャプチャ/リダイレクトする方法は?
SHELL=/bin/bash
#
# m h dom mon dow command
*/1 * * * * /usr/bin/wscat -c ws://therm9.local/ws -w 1 >/dev/shm/outsideTelem 2>&1
# or
*/1 * * * * websocat -U --one-message ws://therm9.local/ws >/dev/shm/outsideTelem
文書:
-rw-r--r-- 1 pi pi 0 Aug 7 12:40 outsideTelem
システムログ:
Aug 7 12:45:01 raspberrypi CRON[21791]: (pi) CMD (/usr/bin/wscat -c ws://therm9.local/ws -w 1 > /dev/shm/outsideTelem 2>&1)
答え1
bashをシェルとして使用すると、出力リダイレクトが少し異なるように見えます。
&>
そして>
それでは、ファイルにメッセージを入れてみましょう/dev/shm/outsideTelem
。
websocat -U --one-message ws://therm9.local/ws &>/dev/shm/outsideTelem