crontab缺少环境变量无法运行的解决方法

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

这几种解决方法够用了,收工

此处评论已关闭