我想运行这个声明:
curl 'http://localhost:8983/solr/dataimport?command=full-import'
每10分钟使用CRON作业。
我如何实现这一目标?
答案 0 :(得分:9)
类似的东西:
crontab <<'EOF'
SHELL=/bin/bash
#min hr md mo wkday command
*/10 * * * * curl 'http://localhost:8983/solr/dataimport?command=full-import'
EOF
之后使用crontab -l
查看它。 BUT ,为该curl
命令添加一个选项,将输出放在特定的位置,因为它可能会运行到您没有写访问权限的某个地方。此外,如果curl
处于异常状态,您可能需要指定其完整路径,例如/usr/bin/curl
,或设置crontab
PATH变量。
EOF
周围的引号会阻止HEREIS文档内容中的替换(<<EOF
和EOF). HEREIS documents are a shell feature, not part of
crontab`之间的所有内容。
有关crontab文件内容的详细信息,请参阅man 5 crontab
。
我通常使用特殊的第一行保存~/.crontab
文件,并设置执行位:
#!/usr/bin/env crontab
SHELL+/bin/sh
[... etc.]
这让我可以编辑我的~/.crontab
,然后只需运行:
$ vi ~/.crontab
$ ~/.crontab
(我通常也会对它们进行扩展以指示它们所用的主机,例如〜/ .crontab.bigbox)
答案 1 :(得分:5)
如果使用Cpanel:
Cpanel-&gt; Cron Jobs-&gt;放置时间间隔(* / 10 * * * *)
在文本框中添加命令:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"
其中 -s 代表无声(无输出)
你完成了
答案 2 :(得分:0)
对于蓝色主机和去爸爸服务器:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"