Null 메시지 본문. 괜찮기를 바라요

Null 메시지 본문. 괜찮기를 바라요

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으로 출력하고 를 사용해야 합니다 |.

를 사용하면 스크립트가 0으로 종료될 때만 &&명령 mail이 실행됩니다.

파이프 문자를 사용할 때 스크립트는 파이프가 데이터를 에 전달할 수 있도록 데이터를 stdout으로 보내야 합니다 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하여 /tmp/sdplogs.out을 생성한 다음 /tmp/sdplogs.out을 메일 명령에 입력하려는 것 같습니다 .

그렇다면 다음 |으로 바꾸면 ;괜찮을 것입니다.

/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] << ""

관련 정보