V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zjcnc
V2EX  ›  Linux

求助一个 crontab 的时间的写法

  •  1
     
  •   zjcnc · Jul 22, 2020 · 2715 views
    This topic created in 2111 days ago, the information mentioned may be changed or developed.

    我想要每隔 d 天 h 时 m 分 s 秒启动一次任务,参数均合法,我看了一些资料,写了*/s */m */h */d * ?
    不用想就知道错了 0.0

    13 replies    2020-07-27 11:39:52 +08:00
    xd547
        1
    xd547  
       Jul 22, 2020
    https://crontab.guru/
    linvon
        2
    linvon  
       Jul 22, 2020
    crontab 是指定某个时间点运行,不是间隔多长时间运行,这种需求你得自己想办法实现
    zarte
        3
    zarte  
       Jul 22, 2020
    没办法,这个是定时器不是延时器。
    lovedebug
        4
    lovedebug  
       Jul 22, 2020
    crontab 有多种写法,有 5 个参数的,也有 6 个参数的,先看你使用的库使用的是哪一种写法
    brader
        5
    brader  
       Jul 22, 2020
    crontab 好像只支持到分钟级的时间粒度。
    我推荐你另一个定时器:ofelia
    DoctorCat
        6
    DoctorCat  
       Jul 22, 2020
    可以利用 cronjob 每天 h 小时 m 分 s 秒运行,然后脚本里做计数确定是否到了 day 间隔
    brader
        7
    brader  
       Jul 22, 2020
    忘记上链接了: https://github.com/mcuadros/ofelia
    ofelia 支持秒级时间粒度,以及丰富的 schedule 时间语法。
    @hourly
    @every
    0,20,40 * * * *
    等写法,但你不会 docker 的话,你可能需要花费点时间,研究怎么去安装他
    wangritian
        8
    wangritian  
       Jul 22, 2020
    把你的 d 天 h 时 m 分换算成 d*24*60+h*60+m=n 分,写成 */n * * * * 可以运行吗?秒就别想了
    brader
        9
    brader  
       Jul 22, 2020
    很抱歉前面给你列了一个错误的范例 0,20,40 * * * *
    这可能会误导你,因为 ofelia 是秒级粒度,所以它应该有 6 挡参数,正确值应该是
    0,20,40 * * * * *
    wysnylc
        10
    wysnylc  
       Jul 22, 2020
    crontab 或者说 cron 表达式,他是一个到达某个时间执行的规则而不是间隔多久执行的规则
    https://tool.lu/crontab/ 这里可以校验并测试出表达式前几次的执行时间
    zjcnc
        11
    zjcnc  
    OP
       Jul 22, 2020
    确实,每隔多久运行并不是 crontab 干的事,多谢楼上各位,换个方案会更好。
    ChanKc
        12
    ChanKc  
       Jul 22, 2020
    man 5 crontab
    ungrown
        13
    ungrown  
       Jul 27, 2020
    @zjcnc #11 或者更直接点,把间隔写进脚本,用 supervisord 之类的让其自启保持运行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2460 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 06:24 · PVG 14:24 · LAX 23:24 · JFK 02:24
    ♥ Do have faith in what you're doing.