![cron 作业计划](https://linux22.com/image/27948/cron%20%E4%BD%9C%E4%B8%9A%E8%AE%A1%E5%88%92.png)
我使用计划创建了一个 cron 作业* */2 * * *
。谁能告诉我这指的是哪个时间表?
我猜它应该每2小时执行一次,但它似乎每分钟执行一次。
答案1
您应该用于0 */2 * * *
每 2 小时运行一次作业
答案2
这就是 cron 作业的布局方式:
minute (0-59), hour (0-23, 0 = midnight), day (1-31), month (1-12), weekday (0-6, 0 = Sunday), command
可以使用星号 (*),以便使用某个时间段的每个实例(每小时、每个工作日、每个月等)。所以使用0 */2 * * *
这样它将每 2 小时、每天和每月运行一次......
答案3
只要时间规范上存在匹配条件,Cron 作业就会执行。星号 ( *
) 表示“全部”。
所以,你的时间规范是:
* */2 * * *
这些字段是:
- 分钟
- 小时
- 一个月中的某一天
- 月
- 星期几
所以,你用英语指定的是“在偶数小时内每分钟运行一次”。听起来有点傻,但cron
会忠实地服从。
为了使其仅运行一次,每隔一小时您需要将分钟字段设置为某个特定数字。任何数字0
-60
都可以,但是你不想要的是*
。
正如许多人已经建议的那样,以下内容可能更接近您想要的:
0 */2 * * *
答案4
像这样放置你的 cronjob 将会使它运行*
可被 2(the )整除的每小时的每一分钟(第一个*/2
),所以这意味着它每“偶数”小时运行一次,整个小时。从2:00 - 2:59
、4:00 - 4:59
、6:00 - 6:59
、8:00 - 8:59
以及上午10:00 - 10:59
和12:00 - 12:59
下午。
如果您想每 2 小时运行一次,您应该明确将分钟计数器设置为0
,因此:
0 */2 * * * user /some/command/here
。