使用 CRON 作业运行 curl 命令

Posted

技术标签:

【中文标题】使用 CRON 作业运行 curl 命令【英文标题】:Run a curl command using CRON jobs 【发布时间】:2013-07-24 22:19:00 【问题描述】:

我想运行这个语句:

curl 'http://localhost:8983/solr/dataimport?command=full-import'

每 10 分钟使用 CRON 作业。

我如何做到这一点?

【问题讨论】:

【参考方案1】:

类似:

crontab <<'EOF'
SHELL=/bin/bash
#min hr md mo wkday command
*/10 *  *  *  *     curl 'http://localhost:8983/solr/dataimport?command=full-import'
EOF

之后使用crontab -l 进行查看。 但是,为curl 命令添加一个选项以将输出放在特定的位置,因为它可能会在您没有写入权限的地方运行。此外,如果curl 有任何异常,您可能需要指定其完整路径,例如/usr/bin/curl,或设置crontab PATH 变量。

EOF 周围的引号防止替换 HEREIS 文档的内容(&lt;&lt;EOFEOF). HEREIS documents are a shell feature, not part ofcrontab` 之间的所有内容。

请参阅man 5 crontab,详细了解 crontab 文件中的内容。

我通常保留一个~/.crontab 文件以使用特殊的第一行进行编辑,并设置执行位:

#!/usr/bin/env crontab 
SHELL+/bin/sh
[... etc.]

这让我可以编辑我的~/.crontab,然后运行它:

$ vi ~/.crontab
$ ~/.crontab

(我通常还会在它们上添加扩展名来指示它们用于哪个主机,例如 ~/.crontab.bigbox)

【讨论】:

我喜欢 ~/.crontab 的建议!【参考方案2】:

如果使用 Cpanel : Cpanel->Cron Jobs->Put Time Interval(*/10 * * * * ) 在文本框中添加命令:curl -s "http://localhost:8983/solr/dataimport?command=full-import" 其中 -s 代表静默(无输出) 你完成了

【讨论】:

【参考方案3】:

对于蓝色主机和去爸爸服务器:

curl -s "http://localhost:8983/solr/dataimport?command=full-import"

【讨论】:

以上是关于使用 CRON 作业运行 curl 命令的主要内容,如果未能解决你的问题,请参考以下文章

使用 cron 作业“访问页面”

使用 cron 作业运行 wp cli 命令

什么是 curl 错误 52“来自服务器的空回复”?

如何确保 cron 作业能够运行?

PHP 可以检测它是从 cron 作业还是从命令行运行?

每天 2:30 运行一次 cron 作业?