crontab的教程里面,一般都说 */N 表示每隔N分钟/小时执行一次。

偶尔的教程里会讲到:这个N应该被60整除才行。

我在网上基本上没有搜到,如果N不被60整除的时候,会是怎样?

问题起因最开始在于:

个人有个crontab任务,希望设置成40分钟执行一次。但是设置了*/40之后发现,任务总是会在整点和40分的时候执行。

查看了下任务设置,并没有设置在整点执行。然而,整点执行之后,隔40分钟之后执行这一点又是符合crontab设置的。

所以,奇怪之处在于,为何整点会执行?

重新设定了一个不会被整除的数:*/47。查看任务,每次执行时打个log。发现:在整点和47分的时候都会执行。

联想到crontab任务的执行标准,是每分钟判断一次某个任务是否应该被执行,那么,crontab的判断标准应该如下:

1. 每分钟执行一次,判断任务是否应该执行;

2. 判断标准为:当前分钟数除以设置分钟数,余数为0则可以执行。

这样,设置为*/40或*/47的时候,在整点时刻(分钟数为00),除以设置分钟数(40和47),余数为0,故均会被执行。

由此可见,某些教程里说的,“设置的N应该被60整除才行”的意思是:如果N能被60整除,则会相当于每隔N分钟执行一次,一个小时正好执行60/N次;如果N不能被60整除,则在能整除和整点(除完余数为0)的时候都会执行。

下面为测试文件,设定为*/23分钟执行。

75 ==> t3 <==
 76 Thu Jan 15 10:46:01 CST 2015
 77 Thu Jan 15 11:00:01 CST 2015
 78 Thu Jan 15 11:23:01 CST 2015
 79 Thu Jan 15 11:46:01 CST 2015
 80 Thu Jan 15 12:00:01 CST 2015
 81 Thu Jan 15 12:23:01 CST 2015
 82 Thu Jan 15 12:46:01 CST 2015
 83 Thu Jan 15 13:00:01 CST 2015
 84 Thu Jan 15 13:23:01 CST 2015
 85 Thu Jan 15 13:46:01 CST 2015

crontab用法疑云相关推荐

  1. crontab用法与实例

    crontab用法与实例 本文基于 ubuntu 18.04 在Linux系统的实际使用中,可能会经常碰到让系统在某个特定时间执行某些任务的情况,比如定时采集服务器的状态信息.负载状况:定时执行某些任 ...

  2. linux下crontab命令的用法,linux 定时任务crontab用法详解

    linux 定时任务crontab用法详解 linux中crontab命令用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读 ...

  3. crontab的用法 linux,linux下定时执行任务的方法及crontab 用法说明(收集整理)

    linux下定时执行任务的方法 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时 ...

  4. linux的crontab用法与实例

    linux的crontab用法与实例 crontab的适用场景 在Linux系统的实际使用中,可能会经常让系统在某个特定时间执行某些任务的情况,比如定时采集服务器的状态信息.负载状况:定时执行某些任务 ...

  5. Linux crontab用法

    crontab用法 crontab可以定时执行某些操作,很实用. 通常Linux系统都已经自带. 用法 $ crontab -h crontab: invalid option -- 'h' cron ...

  6. crontab 用法

    cron用法说明 cron的用法老是记不住,索性写下来备忘.下文内容大部分是根据<Cron Help Guide>翻译而来,有些部分是自己加上的. 全文如下: cron来源于希腊单词chr ...

  7. linux中写crontab脚本,Linux中crond服务与crontab用法

    需要写个在Linux下定时更新系统的脚本,man crondtab 不甚详细,现将网络上的介绍列举如下: crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序使用cr ...

  8. crontab用法 时间配置_Linux指定的时间运行自定义命令的两种方式

    如何在Linux中在指定的时间运行自定义命令 不知道大家有没有这样类似的经历,使用诸如rsync将一个大文件传输到局域网的另一个系统. 由于文件比较大,耗费的时间可能达到小时级别.这时我们可能就会想能 ...

  9. shell编程中crontab用法超级详解!

    使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令. 时间格式:{minute} {hour} {day-of-month} {month} {day-of-week} ...

最新文章

  1. 暴力 + 贪心 --- Codeforces 558C : Amr and Chemistry
  2. java中的daemon thread
  3. 关于工程技术中PE、ME、TE、IE、EE的解说
  4. C# 客户端内存优化分析
  5. SD/MMC相关寄存器的介绍
  6. java 父子线程 调用链_ZipKin原理学习--Zipkin多线程及线程池中追踪一致性问题解决...
  7. 用run as以管理员权限运行脚本的方法
  8. ANSI Common Lisp 中文翻譯版 — ANSI Common Lisp 中文版
  9. 自动化测试——接口测试——pandas——CSV文件参数化——数据驱动
  10. 阿里分布式事务框架Seata原理解析
  11. linux目录分配独立磁盘空间,Linux 分配/home的磁盘空间给根目录
  12. 关于fork函数的使用
  13. 注册表常用命令DOS
  14. Whai_springmvc笔记
  15. Kubernetes K8s 结合国内外文章解决 The kubelet is not running
  16. 【网络游戏植入案例】
  17. vue+js数据处理,对数组重新构造
  18. mysql strip_strip 命令的用法
  19. 联邦学习实战-1:用python从零开始实现横向联邦学习
  20. mybatis show sql 打印 SQL 语句到控制台

热门文章

  1. 算法提高课-图论-单源最短路的扩展应用-AcWing 1137. 选择最佳线路:多源最短路、虚拟源点
  2. win10安装java1.8开发环境JDK
  3. linux信号检查参数相同,linux信号函数
  4. 《剑指offer》c++版本 7.重建二叉树
  5. leetcode 98. 验证二叉搜索树 递归遍历左右子树和中序遍历 c语言解法
  6. 易语言webservice接口_易语言语音通知webservice接口
  7. 开发者账号申请完多久可以用_苹果开发者从0到发布app到apple store
  8. php wap页下拉刷新代码,js实现的移动端下拉刷新功能代码实例
  9. java 日志输出 上下文_java – 使用ServletContextListener和SLF4J在contextDestroyed上没有日志输出...
  10. SHT30温湿度传感器驱动设计分析及代码实现