crontab 缺少环境变量
发现生产环境的java进程获取不到mac地址和硬盘序列号,但是测试环境可以,并且是同一个jar包,最终确认代码是没问题的。
所以定位应该是生产环境的机器的问题,但是明明在生产环境手动启动一次看日志可以获取成功的,为啥生产环境运行的时候就不行呢。
唯一区别就是我手工运行是在下午,生产运行时在8:50定时任务启动的,难道时时间不同获取到的结果不一样?应该不是。
想了很久,终于想通,唯一区别在于linux定时任务启动的,和手动启动不一样。
最后定位到
linux crontab 定时任务启动环境变量很少,需要加上
export PATH=/sbin/:$PATH
才能找到ifconfig fdisk这些命令。