wuyadaxian 最近的时间轴更新
wuyadaxian

wuyadaxian

V2EX 第 659206 号会员,加入于 2023-11-02 21:55:27 +08:00
[疑问]如何使用 cron 让脚本每 7 分钟执行一次?
  •  4   
    程序员  •  wuyadaxian  •  14 小时 35 分钟前  •  最后回复来自 fqzz
    158
    论生产环境的屎山代码。
  •  1   
    程序员  •  wuyadaxian  •  101 天前  •  最后回复来自 Steaven
    71
    关于东芝硬盘后续。顺便求推荐企业级硬盘。
    硬件  •  wuyadaxian  •  131 天前  •  最后回复来自 julyclyde
    7
    东芝硬盘是垃圾,奉劝各位不要买。求帮助!
    硬件  •  wuyadaxian  •  132 天前  •  最后回复来自 wuyadaxian
    79
    元旦期间公司服务器被奇怪攻击
    程序员  •  wuyadaxian  •  145 天前  •  最后回复来自 Harharhar
    17
    来点猫片!猫片!猫片!
    宠物  •  wuyadaxian  •  179 天前  •  最后回复来自 Golor
    3
    私有日本家宽车
    VPS  •  wuyadaxian  •  205 天前  •  最后回复来自 wuyadaxian
    3
    有个 10g 对等家宽,可以搞点啥副业吗
    宽带症候群  •  wuyadaxian  •  134 天前  •  最后回复来自 Themyth
    23
    wuyadaxian 最近回复了
    @BraveXaiver append 了。感谢提醒。
    @yankebupt 不会超过 60 分钟或 24 小时。
    3/7 2/7 * * 3 command
    是很好的缩写。
    @wanqingfengtao 哈哈哈。没有。
    全部交给 NTP 。
    google cloud 最近免费最多 300 美金,直接进去开个几百核的实例测试就行,免费的费用应该够测试半个小时。
    2 天前
    回复了 dlzht 创建的主题 程序员 记一次小小面试中发生的那一点点波澜
    别在意,如果面试官给我说这个数很大,我可能会考虑为 bigint 。
    有些情况下求和相减的时间和空间复杂度可能并不是很好。
    我们现在拥有了两种解法
    一种穷举法,见#22 ,#32 ,#33 ,#34 ,#113
    一种复杂的 command 法,见#39 ,#40 ,#45 ,#51 ,#68 ,#96 ,#119
    -----------------------------
    穷举法:
    #周一
    0-56/7 0-21/7 * * 1 command
    3-59/7 1-22/7 * * 1 command
    6-55/7 2-23/7 * * 1 command
    2-58/7 3-17/7 * * 1 command
    5-54/7 4-18/7 * * 1 command
    1-57/7 5-29/7 * * 1 command
    4-53/7 6-20/7 * * 1 command
    #周二
    2-58/7 0-21/7 * * 2 command
    5-54/7 1-22/7 * * 2 command
    1-57/7 2-23/7 * * 2 command
    4-53/7 3-17/7 * * 2 command
    0-56/7 4-18/7 * * 2 command
    3-59/7 5-29/7 * * 2 command
    6-55/7 6-20/7 * * 2 command
    #周三
    4-53/7 0-21/7 * * 3 command
    0-56/7 1-22/7 * * 3 command
    3-59/7 2-23/7 * * 3 command
    6-55/7 3-17/7 * * 3 command
    2-58/7 4-18/7 * * 3 command
    5-54/7 5-29/7 * * 3 command
    1-57/7 6-20/7 * * 3 command
    #周四
    6-55/7 0-21/7 * * 4 command
    2-58/7 1-22/7 * * 4 command
    5-54/7 2-23/7 * * 4 command
    1-57/7 3-17/7 * * 4 command
    4-53/7 4-18/7 * * 4 command
    0-56/7 5-29/7 * * 4 command
    3-59/7 6-20/7 * * 4 command
    #周五
    1-57/7 0-21/7 * * 5 command
    4-53/7 1-22/7 * * 5 command
    0-56/7 2-23/7 * * 5 command
    3-59/7 3-17/7 * * 5 command
    6-55/7 4-18/7 * * 5 command
    2-58/7 5-29/7 * * 5 command
    5-54/7 6-20/7 * * 5 command
    #周六
    3-59/7 0-21/7 * * 6 command
    6-55/7 1-22/7 * * 6 command
    2-58/7 2-23/7 * * 6 command
    5-54/7 3-17/7 * * 6 command
    1-57/7 4-18/7 * * 6 command
    4-53/7 5-29/7 * * 6 command
    0-56/7 6-20/7 * * 6 command
    #周日
    5-54/7 0-21/7 * * 7 command
    1-57/7 1-22/7 * * 7 command
    4-53/7 2-23/7 * * 7 command
    0-56/7 3-17/7 * * 7 command
    3-59/7 4-18/7 * * 7 command
    6-55/7 5-29/7 * * 7 command
    2-58/7 6-20/7 * * 7 command
    -----------------------------
    复杂 command 法:
    * * * * * [ $(($(date +\%s) / 60 \% 7 )) -eq 0 ] && ( command )
    @noyle #96 it works!!!!
    感谢#96 楼,需要注意#96 楼提到的两点问题。

    我使用下面的代码:
    * * * * * [ $(($(date +\%s) / 60 \% 1 )) -eq 0 ] && ( /etc/test.sh )
    @baoshijiagong
    你可以把它看做一道面试/考试题。
    你进入正在一个面试/考试,电脑画面已经打开了 crontab -e 。
    考题是每 7 分钟执行一次 test.sh
    已经确认 user 对 test.sh 有读写运行权限。
    一旦你关闭这个编辑界面面试/考试即结束。
    -----------------------------------------------------
    以上是我瞎编的。
    我并不是想解决任何实际问题。
    毕竟实际问题上不会存在这么奇葩的要求,一般 */5 * * * * command 就够用了。
    @baoshijiagong 因为之前查了资料,有系统环境差异。
    比如#51 楼提到的,macOS 下 crontab 和 linux 下 crontab 就可能会不一样。
    而且有些特别的 arm 芯片上的特定版本 os 下的 crontab 也可能有差异。
    我考虑的是尽可能说出相关环境,用于实践测试。
    @brant2ai #88 估计和平台有关 。
    #51 楼我找到一个文章,声称使用 macOS 可以这么运行。
    但是没有发现 linux 平台下的案例。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   857 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 20:58 · PVG 04:58 · LAX 13:58 · JFK 16:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.