0

我试图弄清楚为什么我的 curl cron 作业没有正确执行。当我在浏览器中运行它时,它运行得很好,但是如果我在命令行中运行它,我会得到以下输出。我已经替换了实际的 URL,但是 URL 类似于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 或我拥有的许多备份。我只是在我的 curl 请求中缺少一个标志吗?

4

2 回答 2

4

您在命令行中使用 & 符号,因此参数 t 会丢失,并且您的脚本不会获取其所有输入数据(并且它可能与您的 cron 作业相同,因为它是按 shell 方式执行的)。

尝试:

卷曲'网址'

查看http://linuxcommand.org/lts0080.php,搜索“将程序置于后台”以获取更多关于 & in the shell 的信息。

于 2012-12-19T12:41:26.240 回答
0

I believe curl is typically located in /usr/bin/curl. Perhaps you need to run it as absolute path in your cronjob (in case /usr/bin is not contained in your default path). This would typically be the case if it works from commandline but not from cron (as exact same command).

于 2012-12-19T12:33:28.493 回答