메시지 본문이 비어 있습니다. 괜찮기를 바랍니다.

메시지 본문이 비어 있습니다. 괜찮기를 바랍니다.

cronjob의 일부로 다음 명령이 있습니다. cron이나 명령줄을 통해 명령을 실행하면 Null message body; hope that's ok.

이메일의 내용은 비어 있지만 파일을 확인해보니 /tmp/sdplogs.out내용이 포함되어 있습니다.

스크립트는 /dproxy/scripts/cleanSDP2xLogs.sh출력을 파일로 보냅니다 /tmp/sdplogs.out.

내가 뭘 잘못했나요? 어떤 도움이라도 대단히 감사하겠습니다.

$ /dproxy/scripts/cleanSDP2xLogs.sh | mail -s 'SDP2.X Prod LogArchiving Report' [email protected] < /tmp/sdplogs.out
Null message body; hope that's ok

답변1

스크립트에서 데이터를 stdout으로 |출력 하거나 .&&|

&&를 사용하면 mail스크립트가 0으로 종료되는 경우에만 명령이 실행됩니다.

파이프 문자를 사용할 때 스크립트는 파이프가 데이터를 mail.

작성한 내용에서 스크립트는 파일에 데이터를 쓰고 mail파일에서 읽습니다 .평행하게-- mail스크립트가 무엇이든 쓰기 전에 궁극적으로 파일을 읽습니다.

답변2

/dproxy/scripts/cleanSDP2xLogs.sh | mail -s 'SDP2.X Prod LogArchiving Report' [email protected] < /tmp/sdplogs.out

당신은 명령의 출력을 파이핑하고 있습니다 cleanSDP2xLogs.sh. mail나는 당신이 의미한 것이 아니라고 생각합니다. cleanSDP2xLogs.sh먼저 generate /tmp/sdplogs.out을 실행한 다음 /tmp/sdplogs.out을 mail 명령에 입력 하려는 것 같습니다 .

이 경우 다음 |으로 바꾸십시오 ;.

/dproxy/scripts/cleanSDP2xLogs.sh; mail -s 'SDP2.X Prod LogArchiving Report' [email protected] < /tmp/sdplogs.out

답변3

첨부 파일로 사용하는 또 다른 방법 -a:

/dproxy/scripts/cleanSDP2xLogs.sh
mail -s 'SDP2.X Prod LogArchiving Report' -a /tmp/sdplogs.out [email protected] << ""

관련 정보