我想运行这个语句:
curl 'http://localhost:8983/solr/dataimport?command=full-import'
每 10 分钟使用 CRON 作业。
我如何实现这一目标?
我想运行这个语句:
curl 'http://localhost:8983/solr/dataimport?command=full-import'
每 10 分钟使用 CRON 作业。
我如何实现这一目标?
就像是:
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 文档的内容(<<EOF
和crontab 之间的所有内容EOF). HEREIS documents are a shell feature, not part of
。
有关man 5 crontab
crontab 文件中内容的详细分类,请参阅。
我通常~/.crontab
使用特殊的第一行保留要编辑的文件,并设置执行位:
#!/usr/bin/env crontab
SHELL+/bin/sh
[... etc.]
这让我可以编辑我的~/.crontab
然后运行它:
$ vi ~/.crontab
$ ~/.crontab
(我通常还会在它们上添加扩展名来指示它们用于哪个主机,例如 ~/.crontab.bigbox)
在使用 Cpanel 的情况下:
Cpanel->Cron Jobs->Put Time Interval(*/10 * * * * )
在文本框中添加命令:curl -s "http://localhost:8983/solr/dataimport?command=full-import"
其中-s代表静默(无输出)
大功告成
对于蓝色主机和 go daddy 服务器:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"