crontab缺少环境变量文件无法运行,这个坑很深
由于crontab的默认的环境变量只有 /bin:/sbin,我们在运行外部命令时会找不到文件
有时程序的的配置文件在用户目录下面,也需要引入到环境变量
这里有几个解决方法:
1 修改crontab默认配置文件 /etc/crontab [推荐]
SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root MAILTO=root HOME=/root #一定要设置,一些程序的配置文件需要 0 0 * * * root ntpdate time1.google.com
2 添加任务时导入用户环境变量[可自定义]
00 12 * * * source /etc/profile && ntpdate time1.google.com
3 在脚本内部引入环境变量[二进制文件忽略此方法]
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/root export PATH
这几种解决方法够用了,收工
此处评论已关闭