13

我想运行这个语句:

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

每 10 分钟使用 CRON 作业。

我如何实现这一目标?

4

3 回答 3

14

就像是:

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,或设置crontabPATH 变量。

周围的引号EOF防止替换 HEREIS 文档的内容(<<EOF和crontab 之间的所有内容EOF). HEREIS documents are a shell feature, not part of

有关man 5 crontabcrontab 文件中内容的详细分类,请参阅。

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

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

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

$ vi ~/.crontab
$ ~/.crontab

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

于 2013-07-25T08:34:22.847 回答
7

在使用 Cpanel 的情况下:
Cpanel->Cron Jobs->Put Time Interval(*/10 * * * * )
在文本框中添加命令:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"
其中-s代表静默(无输出)
大功告成

于 2014-03-29T11:37:56.787 回答
0

对于蓝色主机和 go daddy 服务器:

curl -s "http://localhost:8983/solr/dataimport?command=full-import"
于 2016-03-28T11:41:35.653 回答