웹 소켓을 통해 네트워크 장치에서 일부 데이터를 가져오려고 합니다. 명령줄에서는 정상적으로 작동합니다. 그러나 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