首页 > 其他 > 详细

crontab环境变量问题

时间:2021-06-23 21:46:19      阅读:21      评论:0      收藏:0      [点我收藏+]

写了一个通过ip命令获取当前系统ip地址信息的脚本,手工测试没有任何问题,但是部署到crontab中,就会出现获取IP地址失败情况。

辛苦查了一天,最后发现直接在shell下执行脚本时的环境变量和在crontab环境下的环境变量不同

测试如下:

# whereis ip
ip: /usr/sbin/ip /usr/share/man/man7/ip.7.gz /usr/share/man/man8/ip.8.gz

# echo $PATH
/root/perl5/bin:/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

# crontab -l
no crontab for root


# crontab -e编辑后
# crontab -l
*/1 * * * *  echo $PATH >> /tmp/path.txt

# tail -f /tmp/path.txt
/usr/bin:/bin

所以 在crontab执行 ip addr命令,查找不到系统的IP地址,所以要在脚本里面带上ip命令的路径,或者使用sudo。

 

参考链接:

Linux中crontab的坑爹环境变量问题

Crontab内环境变量与Shell环境变量的关系及解决问题的办法

 

crontab环境变量问题

原文:https://www.cnblogs.com/smith9527/p/14924227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!