다음과 같은 cronjob이 있습니다.
0 0 * * 7 [ $(date +\%d) -le 07 ] && /home/archiver/archiver.sh &> /home/archiver/output
cron+bash 관점에서 볼 때 매월 첫 번째 일요일에 실행됩니다(제 생각에는 그렇게 생각했습니다. 오늘 실행되지만 다음 일요일에 무슨 일이 일어나는지 지켜보겠습니다, 하하).
하지만 &> /home/archiver/output
받아들여지지는 않을 것 같습니다. 스크립트는 매우 수다스럽고 /home/archiver/output
수정/변경된 타임스탬프가 00:00:01이지만 완전히 비어 있습니다.
스크립트의 출력을 캡처하기 위해 무엇을 놓치고 있습니까?
답변1
&>
귀하의 cron은 bash의 단락 기능을 모르거나 사용하지 않는 것 같습니다 . 이렇게 리디렉션을 작성하면
/home/archiver/archiver.sh >/home/archiver/output 2>&1
작동해야합니다. 또한 >>/home/archiver/output 2>&1
항상 로그 파일에 추가하고 싶습니다 .