Cron 是您可以在任何类 Unix 操作系统中找到的最有用的实用程序之一。它用于安排命令在特定时间执行。这些预定的命令或任务被称为 “Cron 任务”。Cron 通常用于运行计划备份、监视磁盘空间、定期删除不再需要的文件(例如日志文件)、运行系统维护任务等等。在本简要指南中,我们将看到 Linux 中 Cron 任务的基本用法。

Cron 任务入门指南

cron 任务的典型格式是:

  1. 分钟(0-59) 小时(0-24) 日(1-31) 月(1-12) 星期(0-6) 要执行的命令

只需记住 cron 任务的格式或打印下面的插图并将其放在你桌面上即可。

在上图中,星号表示特定的时间块。

要显示当前登录用户的 crontab 文件的内容:

  1. $ crontab -l

要编辑当前用户的 cron 任务,请执行以下操作:

  1. $ crontab -e

如果这是第一次编辑此文件,会询问你使用哪个编辑器来编辑此文件。

  1. no crontab for sk - using an empty one
  2. Select an editor. To change later, run 'select-editor'.
  3. 1. /bin/nano <---- easiest
  4. 2. /usr/bin/vim.basic
  5. 3. /usr/bin/vim.tiny
  6. 4. /bin/ed
  7. Choose 1-4 [1]:

选择适合你的编辑器。这里是一个示例 crontab 文件的样子。

在这个文件中,你需要添加你的 cron 任务。

要编辑其他用户的 crontab,例如 ostechnix,请执行:

  1. $ crontab -u ostechnix -e

让我们看看一些例子。

要 每分钟 执行一次 cron 任务,需使用如下格式。

  1. * * * * * <command-to-execute>

要每 5 分钟运行一次 cron 任务,请在 crontab 文件中添加以下内容。

  1. */5 * * * * <command-to-execute>

要在每 1/4 个小时(每 15 分钟)运行一次 cron 任务,请添加以下内容:

  1. */15 * * * * <command-to-execute>

要每小时的第 30 分钟运行一次 cron 任务,请运行:

  1. 30 * * * * <command-to-execute>

您还可以使用逗号定义多个时间间隔。例如,以下 cron 任务每小时运行三次,分别在第 0、 5 和 10 分钟运行:

  1. 0,5,10 * * * * <command-to-execute>

每半小时运行一次 cron 任务:

  1. */30 * * * * <command-to-execute>

每小时运行一次:

  1. 0 * * * * <command-to-execute>

每 2 小时运行一次:

  1. 0 */2 * * * <command-to-execute>

每天运行一项(在 00:00 运行):

  1. 0 0 * * * <command-to-execute>

每天凌晨 3 点运行:

  1. 0 3 * * * <command-to-execute>

每周日运行:

  1. 0 0 * * SUN <command-to-execute>

或使用,

  1. 0 0 * * 0 <command-to-execute>

它将在每周日的午夜 00:00 运行。

星期一至星期五每天运行一次,亦即每个工作日运行一次:

  1. 0 0 * * 1-5 <command-to-execute>

这项工作将于 00:00 开始。

每个月运行一次:

  1. 0 0 1 * * <command-to-execute>

于每月第 1 天的 16:15 运行:

  1. 15 16 1 * * <command-to-execute>

每季度运行一次,亦即每隔 3 个月的第 1 天运行:

  1. 0 0 1 */3 * <command-to-execute>

在特定月份的特定时间运行:

  1. 5 0 * 4 * <command-to-execute>

每个四月的 00:05 运行。

每 6 个月运行:

  1. 0 0 1 */6 * <command-to-execute>

这个定时任务将在每六个月的第一天的 00:00 运行。

每年运行:

  1. 0 0 1 1 * <command-to-execute>

这项 cron 任务将于 1 月份的第一天的 00:00 运行。

我们也可以使用以下字符串来定义任务。

@reboot 在每次启动时运行一次。 @yearly 每年运行一次。 @annually(和 @yearly 一样)。 @monthly 每月运行一次。 @weekly 每周运行一次。 @daily 每天运行一次。 @midnight (和 @daily 一样)。 @hourly 每小时运行一次。

例如,要在每次重新启动服务器时运行任务,请将此行添加到您的 crontab 文件中。

  1. @reboot <command-to-execute>

要删除当前用户的所有 cron 任务:

  1. $ crontab -r

还有一个名为 crontab.guru 的专业网站,用于学习 cron 任务示例。这个网站提供了很多 cron 任务的例子。

有关更多详细信息,请查看手册页。

  1. $ man crontab

那么,就是这样。到此为止,您应该对 cron 任务以及如何实时使用它们有了一个基本的了解。后续还会介绍更多的优秀工具。敬请关注!!

Cron 任务入门指南的更多相关文章

  1. Quartz入门指南

    Quartz入门指南 看到官网的教程对于新手来说不够全面和连贯,因此结合自己的使用过程写下这个入门指南,用以解惑.本文基于Quartz2.2.2版本.请注意,本文为了易于上手,省略了许多重要的概念,建 ...

  2. 张高兴的 .NET IoT 入门指南:(七)制作一个气象站

    距离上一篇<张高兴的 .NET Core IoT 入门指南>系列博客的发布已经过去 2 年的时间了,2 年的时间 .NET 版本发生了巨大的变化,.NET Core 也已不复存在,因此本系 ...

  3. Web API 入门指南 - 闲话安全

    Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...

  4. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...

  5. yii2实战教程之新手入门指南-简单博客管理系统

    作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...

  6. 【翻译】Fluent NHibernate介绍和入门指南

    英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...

  7. ASP.NET MVC 5 入门指南汇总

    经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解 ...

  8. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

  9. 一起学微软Power BI系列-官方文档-入门指南(2)获取源数据

    我们在文章: 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍中,我们介绍了官方入门文档的第一章.今天继续给大家介绍官方文档中,如何获取数据源的相关内容.虽然是英文,但 ...

随机推荐

  1. Dynamics CRM9.0更新了Chrome后菜单按钮变形

    前段时间Chorme更新后Dynamics CRM9.0的系统菜单样式变的很难看 具体修改方法如下: 找到Dynamics CRM安装目录C:\Program Files\Microsoft Dyna ...

  2. CMD控制台(命令提示符)的打开方式

    打开CMD的方式 打开+系统+命令提示符 Win键 +R 输入cmd 打开控制台(推荐使用) 在任意的文件夹下面,按住shift键+鼠标右键点击+在此处打开命令行窗口 资源管理器的地址栏前面加上cmd ...

  3. Ubuntu16.04下安装virtualbox,配置及卸载

    我是通过添加源的方式安装 将下边的命令添加到/etc/apt/source.list中 deb https://download.virtualbox.org/virtualbox/debian xe ...

  4. CentOS系统安装Nginx

    目录 1. 官网下载地址 2. 上传到服务器安装 2.1 检查是否安装以下软件包 2.2 安装 2.3 安装nginx 3. 启动&停止 nginx是 HTTP 和反向代理服务器,邮件(IMA ...

  5. [源码分析] 分布式任务队列 Celery 之 发送Task & AMQP

    [源码分析] 分布式任务队列 Celery 之 发送Task & AMQP 目录 [源码分析] 分布式任务队列 Celery 之 发送Task & AMQP 0x00 摘要 0x01 ...

  6. 【CTF】WDCTF-2017 3-1 writeup

    题目来源:WDCTF-2017 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1& ...

  7. kubernetes 的负载均衡策略

    Kubernetes提供了两种负载分发策略: RoundRobin和SessionAffinity ◎ RoundRobin:轮询模式,即轮询将请求转发到后端的各个Pod上. ◎ SessionAff ...

  8. 《剑指offer》刷题笔记

    简介 此笔记为我在 leetcode 上的<剑指offer>专题刷题时的笔记整理. 在刷题时我尝试了 leetcode 上热门题解中的多种方法,这些不同方法的实现都列在了笔记中. leet ...

  9. ingress controller 和ingress使用实例

    ingress controller安装 k8s集群版本:1.15+ 官方文档: https://kubernetes.github.io/ingress-nginx/ 创建基础配置 kubectl ...

  10. os shutil 模块

    OS --- 操作系统接口 os.system(command) # 在python中执行系统指令 os.popen(command[, mode[, bufsize]]) #os.popen() 方 ...