我有一个执行java程序的Kshell脚本。
/path/to/java -jar jarfile.jar some parameters > log
Same line 5 times with different parameters appending output to log file.
cat log | mail -s email@email.com
我一直存在的问题是当我把这个脚本放在cron中时,只有最后一行记录了日志文件&发送电子邮件已执行。所有上述实际功能要求的行都被忽略。我在cron预定时间收到一封空白电子邮件,但脚本应该花费大约1小时。
但是当我手动运行脚本时,它的工作正常。
答案 0 :(得分:0)
" Kshell" Korn Shell?在2>&1
之后添加> log
以获取邮寄给您的错误消息。他们可能会告诉你什么是错的。
答案 1 :(得分:0)
我检查了cron邮件是否有问题。对于“无法访问jarfile.jar”,我在脚本中添加了完整路径,并且对于“cat:0652-050无法打开/ path / to / log”,我使用touch命令创建了日志文件。现在我的脚本看起来像这样。
touch /path/to/log
/path/to/java -jar /path/to/jarfile.jar some parameters > /path/to/log
Same line 5 times with different parameters appending output to log file.
cat /path/to/log | mail -s email@email.com
我开始知道给予绝对路径是避免这些问题的关键。