crontab 是Linux中配置定时任务的工具,在各种配置中,我们经常会看到除号(Slash)的使用,那么这个除号到底标示什么意思,使用中有哪些需要注意的地方呢?
在定时任务中,我们经常有这样的需求,比如每5分钟查看一下日志,我们可以这么写:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /command
这样肯定是没有问题的,但是就写书写起来非常复杂,简化一下可以这么写:
0-55/5 * * * * /command
这样的写法已经简化了很多,大家还是觉得麻烦,那么可以这样写:
*/5 * * * * /command
怎么样,是不是非常简单明了。这句就表示在0,5,10,15,20,25,30,35,40,45,50,55分钟的时候执行命令,即每隔5分钟执行命令。
由此我们得出除号与范围搭配使用,表示命令执行的步长。
那么我下面这种写法,是否标示每13分钟执行一次命令呢?
*/13 * * * * /command
这里就是需要注意的地方。有一些步长是无法用这种方式表达的。只有能够被整除的步长值才能表达与我们理解相一致确切的含义,对于分钟来说只有 */2,*/3,*/4,*/5,*/6,*/10,*/12,*/15,*/30,对于小时来说则只有*/2,*/3,*/4,*/6,*/8,*/12。对于日期来说,如果使用*/5,则不能保证每5天执行一次,到月底的时候可能只执行1天、2天或3天后就停止了,这取决与大小月与平闰年。这是因为 cron 是没有状态的,它不能够记录上次执行的是什么时间,只能根据当前的时间来判断是否需要执行。

而对于*/13这个例子来说,表示在分钟这个范围内,即0-59分钟,任务会每13分钟执行一次。即:0,13,26,39,52,之后再间隔8分钟,就会又重新执行。
再看下面一个例子:
0 6 */2 * * /command 
看到这个我们如果理解成每xx执行就是,每两天的6点钟执行命令。在这里*的范围是1-31,*/2表示任务在奇数天执行,那么在1、3、5、7、8、10、12月,月末最后一天执行后,紧接着第二天仍然后执行,那这就不是每2天执行一次。

参考资料:

1、What's the meaning of slash in crontab
2、Man 5 crontab
3、Wiki Cron
4、StackOverflow Cron Syntax Query
5、What does the slash in crontab actually do?

转载于:https://www.cnblogs.com/cocowool/p/5865397.html

Crontab中的除号(slash)到底怎么用?相关推荐

  1. Crontab中的除号(slash)到底怎么用?(转载)

    转载于:https://www.cnblogs.com/cocowool/p/5865397.html crontab 是Linux中配置定时任务的工具,在各种配置中,我们经常会看到除号(Slash) ...

  2. crontab中运行python程序出错,提示ImportError: No module named解决全过程

    将一个python脚本放入crontab执行时,提示如下错: ImportError: No module named hashlib 但是在shell中直接执行时没有任何问题,google之后,得到 ...

  3. php中的eq的含义,jquery,_jQuery中的eq(0)到底是什么意思??详情请看下面代码!,jquery - phpStudy...

    jQuery中的eq(0)到底是什么意思??详情请看下面代码! 手风琴效果 *{padding:0; margin:0;} .box{margin:50px auto; width:300px; he ...

  4. crontab中执行postgresql命令

    可以在crontab中增加如下命令 0 2 * * * /opt/pgsql9.1/bin/psql -d taskmanager -U postgres -c "select * slic ...

  5. php中include和require,在PHP中include和require到底有什么区别呢?

    在PHP中include和require到底有什么区别呢?看这里的例子就知道了 include.php3的运行结果是: 这是inc1.inc文件中的一个变量的值! 这是inc2.inc文件中的一个变量 ...

  6. Java的并发编程中的多线程问题到底是怎么回事儿?

    转载自   Java的并发编程中的多线程问题到底是怎么回事儿? 在我之前的一篇<再有人问你Java内存模型是什么,就把这篇文章发给他.>文章中,介绍了Java内存模型,通过这篇文章,大家应 ...

  7. 物联网中的无线通信模块到底是什么

    物联网市场的爆发式增长速度,离不开无线通信模块产品的强有力的拉动,无线通信模块也是物联网的核心,但是很多人只知道物联网却对于组成物联网的无线通信模块知之甚少,所以下面就让我们一起来了解一下,物联网中的 ...

  8. 程序员约架事件中,薛非到底是因为不会用Github还是不会写Tokenizer而没有应战?...

    见:程序员约架事件中,薛非到底是因为不会用Github还是不会写Tokenizer而没有应战?

  9. [C# VSTO Word]word中段落回车符到底是什么?来看看它的真面目,是否和你想象的一样?

    [C# VSTO Word]word中段落回车符到底是什么?来看看它的真面目,是否和你想象的一样? 目录 [C# VSTO Word]word中段落回车符到底是什么?来看看它的真面目,是否和你想象的一 ...

最新文章

  1. python文件实时同步_python文件自动同步备份v1.2【运维必备】2020/12/31
  2. html转pdf后 框会消失,html或其它文件转pdf弹出打开保存框
  3. Gitee 答疑:为什么从 Gitee 平台 Pull 代码到 STS/Eclipse 后文件乱码?逐步排查
  4. Python数模笔记-NetworkX(1)图的操作
  5. Django自带的用户验证与事务管理的基本概念理解
  6. 网络实用技术基础模拟测试2_网络安全工程师教你:Kali Linux之Metasploit渗透测试基础(五)...
  7. ssm框架数据查询一直为null
  8. 也用C#做个视频监控客户端来玩玩
  9. 【181012】VC++ 中国象棋人机对弈程序源代码
  10. oracle设置默认角色,oracle的用户和角色管理
  11. lldb调试mysql 插件命令
  12. Python笔记之Django网页模板的继承block(挖坑填坑、HTML转义)
  13. 培养学生计算机绘画水平,谈电脑绘画对高校绘画教学的作用
  14. 如何占用计算机大量内存,windows7内存占用率高如何处理_win7电脑内存占用过高怎么办...
  15. UI设计行业领域知识体系
  16. C# 大地测量高斯投影正反算公式计算程序
  17. 全程15分钟 详解如何为MacBook Pro 15寸 加装固态硬
  18. 个人简历——英文单词
  19. Cryptocell-712安全引擎概述
  20. 云服务器到底是什么?云服务器的优势有哪些

热门文章

  1. HTML5教程实例-用Canvas制作线性渐变图形
  2. 【图像处理】激光雷达 采集数据 格式转换处理
  3. Python | datetime与time模块
  4. 底层啊底层,你究竟是什么?
  5. MySQL--新手必备SQL基础知识、事务ACID及隔离级别
  6. Meta Cambria手柄曝光,主动追踪+多触觉回馈方案
  7. 19.通证的分类(各种分类一览表)
  8. 【毕业设计】51-基于Multisim的篮球比赛24秒倒计时计时器的设计(仿真工程+相关芯片资料+答辩论文)
  9. web页面大数据可视化大屏展示案例分享
  10. 苹果CMS搭建影视网站教程