使用CRON作业运行curl命令

14

我想运行这个语句:

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

使用CRON作业每10分钟运行一次。

我该如何实现这个?

3个回答

16

类似于:

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文档的内容中进行替换(即在<<EOFEOF之间的所有内容)。HEREIS文档是shell功能,不是crontab的一部分。

请参阅man 5 crontab以详细了解定时任务文件中包含的内容。

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

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

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

$ vi ~/.crontab
$ ~/.crontab

我通常会在它们上面使用扩展名来指示它们属于哪个主机,例如~/.crontab.bigbox。


我喜欢~/.crontab建议! - Morgan Estes

8

如果使用Cpanel:
Cpanel->计划任务->设置时间间隔(*/10 * * * * )
在文本框中添加命令:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"
这里的-s表示无输出
完成


0

针对蓝色主机和GoDaddy服务器:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接