我试图找出为什么我的curl cron作业没有正确执行。当我在浏览器中运行它时它运行得很好但是如果我在命令行中运行它我得到以下输出。我已经替换了实际网址,但网址类似于example.com/file.php?pass=password&t=d
root @ low [/ home / user] #sudo -u user curl URL
[1] 13959 root @ low
[/ home / user]#开始 0 个帐户的备份!
浏览器中的输出会针对我拥有的所有9,10或多个备份运行。我刚刚在卷曲请求中错过了一个标志吗?
答案 0 :(得分:3)
你正在使用&在命令行中签名,因此参数t会丢失并且您的脚本不会获取其所有输入数据(并且它可能与您的cron作业相同,因为它是以shell方式执行的。)
尝试:
卷曲'url'
结帐http://linuxcommand.org/lts0080.php,搜索“将程序置于后台”以获取有关&amp ;;的更多信息在shell中。
答案 1 :(得分:0)
我认为curl
通常位于/usr/bin/curl
。也许您需要在cronjob中将其作为绝对路径运行(如果您的默认路径中未包含/usr/bin
)。
如果它从命令行工作但不从cron工作(通常是完全相同的命令),通常就是这种情况。