全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 936|回复: 12

求大佬给个cron表达式 每23分钟运行一次 无限循环

[复制链接]
发表于 2021-4-2 17:59:37 | 显示全部楼层 |阅读模式
本帖最后由 z6045670 于 2021-4-2 18:03 编辑

从我设置的时间开始算 而非整点整时开始
我用的下面这段
0 0/23 * * * ?
计算最近执行时间是下面这样的
2021/4/2 18:00:00 (为什么不是从我设置时间开始 而是整点开始?)
2021/4/2 18:23:00
2021/4/2 18:46:00
2021/4/2 19:00:00 (这里就不对了

因为服务器上我弄了N个定时任务 我要把他们都错开
发表于 2021-4-2 18:00:47 | 显示全部楼层
cron 做不到
发表于 2021-4-2 18:01:02 | 显示全部楼层
0/23 * * * * /myjob
 楼主| 发表于 2021-4-2 18:02:07 | 显示全部楼层
zc035 发表于 2021-4-2 18:01
0/23 * * * * /myjob

不对啊
发表于 2021-4-2 18:04:21 来自手机 | 显示全部楼层
wangjiankai 发表于 2021-4-2 18:00
cron 做不到

我也觉得corn做不到,他又不记路你当前设置时间。
发表于 2021-4-2 18:07:38 | 显示全部楼层
有一个 trick 做法,用一个文件保存数字,每一分钟运行一个脚本,把数字加 1 。如果加到 23 就运行真正的程序并把数字清零。
发表于 2021-4-2 18:09:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2021-4-2 18:23:12 来自手机 | 显示全部楼层
本帖最后由 tinyfish 于 2021-4-2 18:29 编辑

0%23为0,所以cron执行了脚本

bash脚本前面加上:
t=$( date +%s )
t=$(( ( t - 某个时间戳 )  / 60 % 23 ))
[ "$t" = 0 ] || exit

然后每分钟执行一次脚本

我就是类似这么玩的
发表于 2021-4-2 18:34:30 | 显示全部楼层

crontab 好像做不了
发表于 2021-4-2 18:39:43 来自手机 | 显示全部楼层
* * * * * if [ $(expr $(date +%s) / 60 % 23) ==  0 ]    ; then echo "lol" ; fi
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-5-13 11:25 , Processed in 0.066116 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表