我在执行cron定时作业的工作中遇到如下错误:
首先加入cron的作业可以执行,
但是在执行结束之后却在mail 中报告有错误,所执行的任务正常结束
请问各位高手如何解决
!!!
因为你的作业有内容输出,但是通过cron执行的脚本是没有自己的输出流的,cron会通过mail的方式把作业的输出mail给用户。要想不收到任何mail的话可以在脚本后面加上1>/dev/null 2>&1,把标准输出和错误输出都重定向到/dev/null中就行了。
是环境变量少吧?
若是shell ,在前面加上所需要的环境变量。
若是自己写的执行码,在程序前加上 putenv( "ENV_VAR=VALUE")函数设置所需环境变量。
1. 是输出的问题,crontab里面的程序如果不指定输出的话就会将其输出以mail的方式通知用户;
2. 是环境变量的问题,有些程序是需要特定的环境变量支持的,如果不给定的话就会出错。
不过看你的情况,似乎应该是第一条的缘故,再问一个:你的程序在命令行执行时是不是有输出啊!?
应该是环境变量未设置好的缘故.
若是shell脚本,可在脚本前加上一行代码 . $HOME/.profile
若是可执行二进制文件,可在源代码上如wenlq(when)所说那样做
按你所说的是输出问题