问题描述
操作系统:CentOS7
当定时器crontab执行脚本时,日志(tail -30 /var/spool/mail/root)报错command not found,脚本中某个指令没有找到 ; 但手动调用脚本时能够正常执行结束。
问题原因
crontab无法读取环境变量
可以通过编写脚本查看环境变量:
“test.sh”
echo $PATH
1.手动调用 ./test.sh
2.crontab定时任务调用
会发现两种情况输出的环境变量不同,就导致手动调用脚本不报错,但放到定时任务就出问题
问题解决
1.脚本内使用的命令用绝对路径形式
#!/bin/sh
/usr/local/bin/influx version
2.脚本开头添加环境变量
#!/bin/sh
export PATH=/usr/local/bin/:$PATH
influx version