我想运行这个声明:
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和EOF之间的所有内容). HEREIS文档是shell功能,不是crontab`的一部分. 有关crontab文件的详细信息,请参阅man 5 crontab. 我通常使用特殊的第一行保存〜/ .crontab文件,并设置执行位:
#!/usr/bin/env crontab SHELL+/bin/sh [... etc.]
这让我编辑我的〜/ .crontab,然后运行它:
$vi ~/.crontab $~/.crontab
(我通常也会对它们进行扩展,以指示它们所用的主机,例如〜/ .crontab.bigBox)