问题出现的场景大概就是
1 cron调用一个python脚本
2 python脚本中调用一个shell脚本(对日志分析)获取shell输出然后发送邮件
类似一个监控任务。
直接执行python脚本没有问题,但是写在cron中之后,shell脚本中的相对路径就找不到了,总是提示无法找到某些文件
后来解决的问题就是使用log文件的绝对路径,运行就正常了。
google了一些,发现很多人也遇到过类似的问题,可能和cron的机制有关系。
大部分人的问题都是因为环境变量造成的,因为cron是一个独立进程,也不是用户登录等,所以有些程序会无法执行成功。
类似: http://stackoverflow.com/questions/2388087/how-to-get-cron-to-call-in-the-correct-paths
但是从很多人的脚本中基本都是绝对路径,可能还是我写的太少,很多原则和原理不是很清楚。