每六个小时在 Linux 上运行一次 cron 作业

Posted

技术标签:

【中文标题】每六个小时在 Linux 上运行一次 cron 作业【英文标题】:Running a cron job on Linux every six hours 【发布时间】:2012-07-18 18:05:08 【问题描述】:

如何每天每六个小时运行一次命令?

我尝试了以下方法,但没有成功:

/6 * * * * *  mycommand

【问题讨论】:

How to run crontab for every 2 hours 的可能重复项 怎么样 * */6 * * * 【参考方案1】:

您忘记了*,并且字段太多。这是你需要关心的时刻

0 */6 * * * /path/to/mycommand

这意味着从 0 开始每隔六个小时,即在 0、6、12 和 18 小时,您可以写成

0 0,6,12,18 * * * /path/to/mycommand

【讨论】:

感谢您的回复,这是每 6 小时从几点开始? cron 的创建时间? 谢谢,所以如果我想从 15:00 开始每 6 小时运行一次,那就是 15 15,23,05,11 * * * /path/to/mycommand ? 是的,虽然第一个字段是分钟,您已将其设置为 15,因此这意味着 15:15,23:15,05:15 和 11:15。 (顺便说一句,这不是每 6 小时一次,你可能是指 0 15,21,3,9 * * *【参考方案2】:

您应该包含命令的路径,因为 cron 在广泛缩减的环境中运行。您不会拥有交互式 shell 会话中的所有环境变量。

最好指定脚本/二进制文件的绝对路径,或在 crontab 本身中定义 PATH。为了帮助调试任何问题,我还将 stdout/err 重定向到日志文件。

【讨论】:

感谢您的回复,但如果我在我的 sh 文件中声明环境变量,例如 export variable=something,我仍然可以在同一个脚本中使用它们吗?我在脚本中使用了很多日期命令 @Gandalf - 是的。您可以在脚本中定义所有环境变量。这是个好主意,因为这意味着您的脚本是独立的,并且与您可能希望在 cron 中运行的其他内容隔离【参考方案3】:
0 */6 * * * command

这将是表示一天工作 6 小时的完美方式。

你的命令会持续六分钟!

【讨论】:

@ArsenArsen 我很确定这是因为它并没有真正为现有接受的答案添加任何内容,它是在 4 年前写的。【参考方案4】:

请注意此语法

* */6 * * *

这意味着每 6 小时 60 (每分钟),

不是

每 6 小时一次。

【讨论】:

【参考方案5】:
0 */6 * * *

crontab 每 6 小时是一个常用的 cron 计划。

【讨论】:

这个答案添加了什么其他答案没有? @rkoots 已经提到了这个确切的命令。 “常用”?为什么?你能详细说明一下吗?【参考方案6】:

你需要使用 *

0 */6 * * * /path/to/mycommand

您也可以参考https://crontab.guru/,这将帮助您更好地安排时间......

【讨论】:

【参考方案7】:

试试:

0 */6 * * * command

。 * 必须

【讨论】:

这里的最后一行没有多大意义。你会考虑扩大它吗? 答案好像不完整

以上是关于每六个小时在 Linux 上运行一次 cron 作业的主要内容,如果未能解决你的问题,请参考以下文章

cron 命令每 12 小时运行一次

Ubuntu cron 定时执行任务

node-cron 每 3 小时运行一次作业

如何每 2 小时运行一次 cron 作业?

Wordpress Cron作业未运行

Spring批处理Cron表达式:每3小时运行一次