使用crontab 执行shell脚本,有三个条件:
1,必须拥有权限
2,必须写绝对路径
3,环境变量
格式为
* * * * * /bin/sh /home/test.sh
第一个*:分钟 0~59
第二个*:小时 0~23
第三个*:日期 1~31
第四个*:月份 1~12
第五个*:周 1~7
crontab的前两个条件比较简单,再此就不做说明了,这里主要是第三个条件环境变量的问题,大多数crontab 无法运行脚本的原因就是这个环境变量(保证脚本的正确性),本小菜鸟今天同样碰到了相同的问题,百度 谷歌 查找了N久原因,最终确认是环境变量问题,下面又出现第二个问题,环境变量怎么设置,继续百度,谷歌却没有找到相关的配置说明,纠结ing。。。。对于新手来说这个问题确实不好解决。
经过不断的尝试添加环境变量的方法为:
①在你的服务器上执行 echo $PATH 显示为如下:
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
②在你脚本的!/bin/bash下,添加如下两行:
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export PATH
保存退出
重新编写crontab -e
* * * * * /bin/sh /home/test.sh
成功!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。