crontab每小时运行一次
先给出crontab的语法格式
对于网上很多给出的每小时定时任务写法,可以说绝大多数都是错误的!比如对于下面的这种写法:
00 * * * * #每隔一小时执行一次
00 */1 * * * #与上面是相同的任务
这种是正确的吗?对照最前面给出的语法格式来看,这个定时任务在0分、每小时、每天、每月、每星期执行,看起来似乎很合理啊?前一个小时的0分和后一个小时的0分不就是相隔一个小时吗?这样的话不就是每隔一个小时执行吗?再仔细看看,好像有点不对劲,为什么是每小时的0分?如果我在11:55创建了定时任务,希望每小时执行一次,那么接下来这个定时任务是在12:55执行,还是在12:00执行?很显然,它是每小时的0分执行,也就是在12:00执行。
似乎没区别?那么请思考下,每隔3小时执行如何写?
网上给出的写法如下:
0 */3 * * * #错误的每隔3小时执行一次写法
这种也是错误的写法,这种能充分展示前面一小时执行一次带来的迷惑感,这种写法其实是每整3小时的0分执行一次。也就是说,它会在每天的3点、9点、12点...等3的整数倍时间点来执行,并不是真正意义上每隔3个小时执行,如同前面类似,如果你在11:56创建这种每3小时的定时任务,那么它会在12点就开始执行,而不是14:56执行。请看如下验证:
11:56分创建上面所谓的“每3小时执行一次”的定时任务:
4分钟后而不是3小时后,crontab执行了该定时任务:
事实上,对于这种 "0 */3 * * * " 这种分钟时间点固定,小时按每小时或者每3小时的写法,都是从1点开始算倍数,比如每一小时就是1点、2点、3点,而每2小时就是2点、4点、6点,每3小时就是3点、6点、9点等等,以此类推。
除此之外,网上还有人给出这种的每小时执行一次的定时任务写法:
* */1 * * * #错误的每隔一小时执行一次,事实上每分钟执行一次
这种比前面那种还不如,它压根不是每小时执行,而是每分钟执行!为什么?因为分钟要求的是每分钟执行,而小时却要求每一个小时执行,这2个分明是冲突的时间策略。最终以分钟为准,所以它是每分钟执行一次。
真正的每隔一小时、每隔105分钟执行的定时任务应该如何写呢?如下:
*/60 * * * * #每60分钟即每小时执行一次
*/105 * * * * #每105分钟执行一次
crontab每小时运行一次的更多相关文章
- [转帖]crontab每小时运行一次
crontab每小时运行一次 先给出crontab的语法格式 对于网上很多给出的每小时定时任务写法,可以说绝大多数都是错误的!比如对于下面的这种写法: 00 * * * * #每隔一小时执行一 ...
- cron job 里面,如何让脚本半分钟运行一次?
cron job 里面,如何让脚本半分钟运行一次? cron本身实现不了.但可以借助于sleep命令实现. 解决方法: 两个脚本 一个正常,一个增加sleep 30 crontab设置同时启动 在有的 ...
- crontab每小时运行一次(转)
https://blog.csdn.net/liu0808/article/details/80668705 先给出crontab的语法格式 对于网上很多给出的每小时定时任务写法,可以说绝大多数都是错 ...
- Linux守护进程实现程序只运行一次
1.守护进程 守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件. 2.让程序只运行一次 如果让程序只运行一次,有很多方法,此处的一种 ...
- 2019-11-22-Roslyn-在多开发框架让-msbuild-的-Target-仅运行一次
title author date CreateTime categories Roslyn 在多开发框架让 msbuild 的 Target 仅运行一次 lindexi 2019-11-22 09: ...
- Pytest系列(30)- 使用 pytest-xdist 分布式插件,如何保证 scope=session 的 fixture 在多进程运行情况下仍然能只运行一次
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 背景 使用 pytest-xdis ...
- PHP定时器实现每隔几秒运行一次
php是服务器端脚本了并不像js那样有专业的settimeout函数来定时执行了,但只要浏览器不关闭各阶层是可以做到了,下面一起来看看. 下面写个简单例子来讲解这个方法. <?php ignor ...
- JVM菜鸟进阶高手之路六(JVM每隔一小时执行一次Full GC)
转载请注明原创出处,谢谢! 上次分析详细地址在:http://www.jianshu.com/p/a6236cd39e2d 以为上次问题是rmi的问题就此结束了,但是问题并没有结束,其实本次问题不是r ...
- 运行一次node服务后,再次运行报错
由于工作内容在git上,而系统又是window,大家知道,window自带的终端是不能进行git操作的,所以下载了一个git进行代码的更新提交. 我在git上运行了node服务后,由于不同的项目,我需 ...
随机推荐
- ROS里程计的学习
采用增量式编码器来实现odometry的计算,首先采用编码器对脉冲进行采样实现左右轮运动状态的获取,然后再利用增量式测程法得到机器人车体当前坐标系的位姿. 增量式测量法是使用从编码器采样到的数据并依据 ...
- SpringCloud:Eureka服务注册与发现
1.Eureka简介 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构.Eu ...
- 第十五周助教工作总结——NWNU李泓毅
助教博客链接:https://www.cnblogs.com/NWNU-LHY/ 本次作业的要求:团队项目需求改进与系统设计:https://www.cnblogs.com/nwnu-daizh/p/ ...
- vue 遇到防盗链 img显示不出来
在index.html中添加: <meta name="referrer" content="no-referrer">
- MySQL - \g 和 \G用法与区别
[1]DOS环境下 ① \g 可同时(单独)使用\g; 其作用等效于分号—’:’ : ② \G 可同时(单独)使用\G;; /G 的作用是将查到的结构旋转90度变成纵向:
- I.MX6 dts 在哪里、怎么编译【转】
本文转载自:https://blog.csdn.net/wangliang888888/article/details/78349224 一.参考文档: 1. [i.MX] 修改了dts之后,如何重新 ...
- flutter 日志工具类
class LogUtils { //dart.vm.product 环境标识位 Release为true debug 为false static const bool isRelease = con ...
- typescript装饰器定义 类装饰器 属性装饰器 装饰器工厂
/* 装饰器:装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,属性或参数上,可以修改类的行为. 通俗的讲装饰器就是一个方法,可以注入到类.方法.属性参数上来扩展类.属性.方法.参数的功能. 常 ...
- matplotlib常用操作2
关于matplotlib学习还是强烈建议常去官方http://matplotlib.org/contents.html里查一查各种用法和toturial等. 下面是jupyter notebook代码 ...
- 006-guava 集合-集合工具类-集合扩展工具类
一.概述 需要实现自己的集合扩展.也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集 二.使用 2.1.ForwardingList装 ...