注意cron的环境变量
来源:互联网 发布:淘宝联盟上商品优惠券 编辑:程序博客网 时间:2024/04/28 09:21
最近在做一个自动化统计日报,其实就是简单的数据统计、收集、处理和发邮件,这些任务是用cron来实现的,每天在指定的时间去做这些事情。
今天早上收到了日报,但是有些数据没有发出来,查看了下log发现数据收集调用的的一个python程序跑失败了,这段程序import了hashlib模块,程序报错提示找不到这个模块。
测试时一直使用的都是默认的python,是2.5的版本,已经自带了hashlib模块,看了下系统里面还有一个python2.4的版本,在2.4里还没有hashlib这个模块。
程序既然抛错,难道是没有使用默认的python2.5?
查看python2.5的安装路径和系统的PATH,发现它是安装在一个系统第三方路径上,而我自己配置的PATH已经将这个第三方路径放在了最前面,这也解释了我在terminal下运行python默认就是2.5的版本。
为什么cron没有识别?难道是cron不使用我的PATH?
为了证实猜想,在网上搜索了一下,找到了这个AskUbuntu的链接,总结了cron执行失败的诸多原因,发现第一个就是跟这个PATH有关
Cron passes a minimal set of environment variables to your jobs
cron的PATH和用户自身的PATH不一样!然后我测试了一下,在cron执行时的PATH的确是没有包含那个python2.5所在的第三方路径,所以使用了安装在/usr/bin下面的python2.4,导致数据收集失败。
这个答案同样也给出了解决方法,最好的个人认为,就是在cron执行的脚本里修改PATH,于是我在自动化shell脚本的最上面将这个第三方路径放在了PATH的最前面,数据成功收集。
0 0
- 注意cron的环境变量
- cron 和环境变量
- android环境变量的设置及注意问题
- 编写环境变量时需要注意的
- Win7中设置环境变量的注意问题
- Cron表达式语法及注意
- spring 3.0 中 @Scheduled cron表达式需要注意的几个地方
- cron job 自动工作注意点
- 关于java环境变量的设置要注意的地方
- 配置ant的环境变量时应注意的问题
- java环境变量配置注意
- 注意环境变量中tmp指向的路径是否有空格
- CRONTAB调用备份脚本时要注意环境变量的设置
- crontab与环境变量,以及应该注意的一些问题
- crontab与环境变量,以及应该注意的一些问题
- crontab与环境变量,以及应该注意的一些问题
- crontab 跑任务的时候一定要注意设置环境变量
- 环境变量应用时一个应注意的地方
- hd 2031 进制转换
- 时刻不停的工作,你将一事无成
- mac 开发者常用的工具
- ios--框架--微博骨架搭建
- 向nokia致敬,没有理由!
- 注意cron的环境变量
- TextFiled enter键换行的问题
- dbgrid自动生成编号
- rpcgen
- Android源码分析之原型模式
- 深入理解Linux进程间通信(IPC)-- 简介
- mkdir
- codeforces round#259 div2 B题(KMP)
- linux nohup命令