使用 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 文档的内容(<<EOF
和 EOF). HEREIS documents are a shell feature, not part of
crontab` 之间的所有内容。
请参阅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 命令的主要内容,如果未能解决你的问题,请参考以下文章