首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法从crontab执行脚本

无法从crontab执行脚本
EN

Stack Overflow用户
提问于 2015-10-23 18:26:26
回答 2查看 95关注 0票数 1

我可以从命令行执行脚本。我像这样执行它:

代码语言:javascript
运行
复制
/path/to/script run

但是当像下面这样从cron执行它时,页面并不正常:

代码语言:javascript
运行
复制
55     11 * * 2-6   /path/to/script.pl run   >> /tmp/script.log              2>&1

获取网页的行使用LWP::Simple

代码语言:javascript
运行
复制
my $site = get("http://sever.com/page") ;

我什么都没改。该页面有效且可访问。只有当我从crontab执行这个脚本时,我才会得到enpty页面。我可以从命令行执行它!Crontab归root所有。并以root用户身份执行作业。

提前感谢您的任何提示!

EN

回答 2

Stack Overflow用户

发布于 2015-10-23 19:01:10

很难说是什么原因导致了这种情况,但您的环境和crontab创建的环境之间存在差异。

您可以尝试使用适当的参数通过shell运行它,以构建您的用户环境:

代码语言:javascript
运行
复制
55 11 * * 2-6 /bin/tcsh -l /path/to/script.pl run >> /tmp/script.log 2>&1

我假设您使用自己的用户ID通过cron运行它。如果不是,那么显然您应该尝试使用cron用来运行它的用户ID手动运行它。

票数 1
EN

Stack Overflow用户

发布于 2015-10-23 23:31:07

如果这不是环境变量的不同(例如,指定要使用的代理的环境变量),我相信您正在与SElinux发生冲突。除此之外,它还阻止后台应用程序(例如cron作业)访问internet,除非您显式地允许它们这样做。我不知道如何做到这一点,但您应该能够很容易地找到答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33300159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档