一个cron job是一个在指定时间段执行的任务。这些任务可以按分钟、小时、月、日、周、日或这些的任何组合来安排运行。

Cron作业一般用于自动化系统维护或管理,例如备份数据库或数据、用最新的安全补丁更新系统、检查磁盘空间的使用情况、发送电子邮件等等。

每隔5分钟、10分钟或15分钟运行一次cron job是一些最常用的cron时间表。

Crontab的语法和操作符

Crontab(cron表)是一个定义cron作业时间表的文本文件。Crontab文件可以用crontab命令来创建、查看、修改和删除。

用户crontab文件中的每一行都包含六个字段,用空格隔开,后面是要运行的命令。

* * * * * command(s)
^ ^ ^ ^ ^
| | | | | allowed values
| | | | | -------
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
 

前五个字段(时间和日期)也接受以下运算符。

  • * - 星号运算符表示所有允许的值。如果你在分钟字段中有星号,意味着任务将每分钟执行。
  • - - 连字符运算符允许你指定一个值的范围。如果你在工作日字段中设置1-5,任务将在每个工作日运行(从周一到周五)。这个范围是包容性的,这意味着第一个和最后一个值都包括在这个范围内。
  • , - 逗号运算符允许你定义一个用于重复的数值列表。例如,如果你在小时字段中有1,3,5,任务将在凌晨1点、3点和5点运行。列表可以包含单个值和范围,1-5,7,8,10-15
  • / - 斜杠运算符允许您指定可与范围结合使用的步长值。例如,如果你在 "分钟 "字段里有1-10/2,这意味着动作将在1-10范围内每两分钟执行一次,与指定1,3,5,7,9相同。你也可以使用星号运算符来代替数值范围。要指定一项工作每20分钟运行一次,你可以使用 "*/20"。

系统范围的 crontab 文件的语法与用户crontabs略有不同。它包含一个额外的强制性用户字段,指定哪个用户将运行cron job。

* * * * * <username> command(s)
 

要编辑crontab文件,或者在它不存在的情况下创建一个文件,请使用crontab -e命令。

每5分钟运行一个Cron作业

有两种方法可以每5分钟运行一个cron job。

第一个选项是使用逗号运算符,创建一个分钟列表。

0,5,10,15,20,25,30,35,40,45,50,55  * * * * command
 

上面这句话在语法上是正确的,它可以正常工作。然而,键入整个列表会很乏味,而且容易出错。

指定每 5 分钟运行一次作业的第二个选项是使用 step 运算符:

*/5  * * * * command
 

*/5意味着创建一个所有分钟的列表,并为列表中的每五个值运行作业。

每隔10分钟运行一次Cron作业

要想每10分钟运行一个cron job,请在你的crontab文件中添加以下一行。

*/10  * * * * command
 

每隔15分钟运行一次Cron作业

要想每15分钟运行一个cron job,请在你的crontab文件中添加以下一行。

*/15  * * * * command
 

总结

我们已经向你展示了如何每隔5分钟、10分钟或15分钟运行一个cron命令。

如果您有任何问题,请随时留言咨询。

如何每5分钟、10分钟或15分钟运行一次Cron计划任务的更多相关文章

  1. 15分钟学会使用Git和远程代码库

    git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

  2. 15分钟在笔记本上搭建 Kubernetes + Istio开发环境

    11月13~15日,KubeCon 上海大会召开,云原生是这个秋天最火热的技术.很多同学来问如何上手 Kubernetes和Istio 服务网格开发.本文将帮助你利用Docker CE桌面版,15分钟 ...

  3. [ASP.NET MVC2 系列] ASP.Net MVC教程之《在15分钟内用ASP.Net MVC创建一个电影数据库应用程序》

    [ASP.NET MVC2 系列]      [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序>       ...

  4. 15 分钟用 ML 破解一个验证码系统

    人人都恨验证码——那些恼人的图片,显示着你在登陆某网站前得输入的文本.设计验证码的目的是,通过验证你是真实的人来避免电脑自动填充表格.但是随着深度学习和计算机视觉的兴起,现在验证码常常易被攻破. 我拜 ...

  5. 15 分钟学会 Eclipse GMF

    背景 坦白说:过去在 Eclipse 里使用 Graphical Editor Framework(GEF)创建图形化编辑器 既慢又痛苦.这个过程包括理解复杂的框架和大量的冗余代码.但也说明 GEF ...

  6. DiscuzX2.5密码错误次数过多,请 15 分钟后重新登录的修改办法

    source\function function_login.php $return = (!$login || (TIMESTAMP - $login['lastupdate'] > )) ? ...

  7. 【git】15分钟学会使用Git和远程代码库

    Git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

  8. 15 分钟学会使用 Git 和远程代码库

    Git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

  9. 15分钟从零开始搭建支持10w+用户的生产环境(二)

    上一篇文章,把这个架构的起因,和操作系统的选择进行了详细说明. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(一)   二.数据库的选择 对于一个10W+用户的系统,数据库选择很重要. 一 ...

  10. 15分钟从零开始搭建支持10w+用户的生产环境(四)

    上一篇文章,介绍了这个架构中,WebServer的选择,以及整个架构中扩展时的思路. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(三)   五.架构实践 前边用了三篇文章,详细介绍了这个 ...

随机推荐

  1. [转]win10 vue-cli 下载成功,显示 vue不是内部或外部命令,也不是可运行的程序

    vue不是内部或外部命令,也不是可运行的程序 1.安装vue-cli npm install -g @vue/cli 2.查看是否安装成功 vue -V 经过上述步骤,一般在CMD窗口输入" ...

  2. Android保活从入门到放弃:乖乖引导用户加白名单吧(附7大机型加白示例)

    1.引言 IM在Android上的保活问题经常在即时通讯网的论坛和技术群里被讨论,自从Android 8.0后系统大大降低了后台运行应用的保活容忍度(详见<Android P正式版即将到来:后台 ...

  3. Object.freeze冻结属性和v-if结合requestAnimationFrame分帧渲染解决白屏

    计算100W条数据的长度造成2s延迟 <template> <div> <h1>数据总长度{{ arrList.length }}</h1> </ ...

  4. Appium_iOS测试脚本(1)

    经过不断的调试WebDriverAgent, 现在终于可以执行ios的自动化测试脚本了, # This sample code uses the Appium python client # pip ...

  5. Solution Set -「LOCAL」冲刺省选 Round XXIX

    \(\mathscr{Summary}\)   啊--说老实话,早上昏昏欲睡的,起码浪费了一个多小时.比赛打麻了 qwq.   A 题类似费用提前计算,回忆起这个 trick 之后就简单了.B 题又错 ...

  6. CDS标准视图:设备描述 I_EquipmentText

    视图名称: I_EquipmentText 视图类型:基础视图 视图代码: 点击查看代码 @EndUserText.label: 'Equipment - Text' @ObjectModel.dat ...

  7. java线程池优化

    ThreadPoolExecutor机制 一.概述 1.ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程 ...

  8. nginx平台初探-2

    handler模块简介 相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识.基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-ba ...

  9. dart变量声明和变量类型

    ps==>所有的代码必须放在main方法中 main方法有两种写法 1==> main() { print("你好,dart我们相遇了"); } 2==> voi ...

  10. 第9章 LINQ 运算符

    第9章 LINQ 运算符 本章所有例子所使用的 names 数组都是一致的: string[] names = {"Tom", "Dick", "Ha ...