我想运行这个语句:
curl 'http://localhost:8983/solr/dataimport?command=full-import'
使用CRON作业每10分钟运行一次。
我该如何实现这个?
我想运行这个语句:
curl 'http://localhost:8983/solr/dataimport?command=full-import'
使用CRON作业每10分钟运行一次。
我该如何实现这个?
类似于:
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文档是shell功能,不是crontab
的一部分。
请参阅man 5 crontab
以详细了解定时任务文件中包含的内容。
我通常保留一个~/.crontab
文件以编辑第一行,并设置执行位:
#!/usr/bin/env crontab
SHELL+/bin/sh
[... etc.]
这使我可以编辑我的~/.crontab
,然后只需运行它:
$ vi ~/.crontab
$ ~/.crontab
我通常会在它们上面使用扩展名来指示它们属于哪个主机,例如~/.crontab.bigbox。
如果使用Cpanel:
Cpanel->计划任务->设置时间间隔(*/10 * * * * )
在文本框中添加命令:curl -s "http://localhost:8983/solr/dataimport?command=full-import"
这里的-s表示无输出
完成
针对蓝色主机和GoDaddy服务器:
curl -s "http://localhost:8983/solr/dataimport?command=full-import"