San*_*dip 2 cron ksh sendmail shell-script
我在下面有以下命令作为 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' joeblow@xyz.com < /tmp/sdplogs.out
Null message body; hope that's ok
Run Code Online (Sandbox Code Playgroud)
您需要替换|with&&或让脚本将数据输出到 stdout 并使用|.
使用时&&,该mail命令只会在脚本以 0 退出时运行。
使用管道字符时,您的脚本需要将数据发送到标准输出,以便管道可以将其传递到mail.
在您编写的内容中,脚本将数据写入文件并并行mail读取文件- 并在脚本向其写入任何内容之前读取文件。mail