每六个小时在 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 作业的主要内容,如果未能解决你的问题,请参考以下文章