crontab不是通常意义下的linux指令,它更是一个配置工具。通过这个工具,我们可以为系统定制固定周期的任务。

1、crond和crontab

1)   crond:cron服务的守护进程,用于定期调度。

2)   crontab:cron提供的UI,用于编辑调度计划。

2、crontab指令:

crontab –e:编辑已有定期调度任务,注意:该指令会启动vi编辑器进行任务编辑。

crontab –l:显示已有定期调度任务。

3、cron任务格式:

使用crontab –e编辑定期调度任务时,实际上可以理解为编辑一个配置文件,通过这个文件定义要执行哪些定期任务,执行的周期如何。

编辑过程可以理解为:进入vi编辑界面,以一个工作代表一行来编辑,然后输入“:wq”保存即可。每项工作(每行)具有六个字段,各字段意义如下表所示,六个字段依次表示分钟、小时、天、月、周和要执行的shell命令。

代表意义

分钟

小时

日期

月份

指令

数字范围

0-59

0-23

1-31

1-12

0-7

指令

4、特殊字符的使用:

cron任务中,有时需要设置较为复杂的任务处理逻辑,此时可能会用到如下特殊字符:

特殊字符

代表意义

*(星号)

代表任何时候都接受。例如:30 10 * * * command中,day,month和week均为“*”,表示无论哪一天、哪个月、周几,都在10点30分执行命令。

,(逗号)

代表多个并列时间。例如:* 3,6,9,12 * * * command,表示在3点,6点,9点或12点,执行命令。

-(减号)

代表连续区间。例如:* 9-17 * * * command,表示从9点到17点,每一分钟都要执行这个任务。

/n(斜线)

代表每隔n个单位之间。例如:*/5 * * * * command,其中用*与/5来搭配,表示每隔5分钟执行指令;也可以写成 0-59/5 ,作用相同。

5、举例:

# 每周五17点整,提醒所有组员发周报:

>crontab –e #进入编辑界面

0 17 * * 5 mail all_members < weekily_report_notify

#每周一00:30统计上周的服务器使用情况,结果保存到以日期命名的文件:

>crontab –e #进入编辑界面

30 0  * * 1 /home/get_server_usage.sh> server_usage_`date +"\%Y\%m\%d"`.txt

#注意其中%的处理,需要在前面加反斜杠\进行转义。

6、注意事项:

P.S.: crontab命令中的待执行脚本最好使用绝对路径。

P.S.: “周”这一栏中0和7都代表周日。

P.S.: cron调度的最小频率为1分钟。

P.S.: 每个月的最后一日无法由crontab直接支持,需要通过脚本判断。

P.S.:如果crontab运行出错,可以查看日志文件/var/log/syslog,追溯问题。

crontab入门及进阶学习笔记的更多相关文章

  1. ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - ROSMapModify - ROS地图修改

    ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - 2 - MapModify地图修改 We can use gmapping model to genera ...

  2. 爱了!阿里大神最佳总结“Flutter进阶学习笔记”,理论与实战

    前言 "小步快跑.快速迭代"的开发大环境下,"一套代码.多端运行"是很多开发团队的梦想,美团也一样.他们做了很多跨平台开发框架的尝试:React Native. ...

  3. Java8——快速入门手册(学习笔记)

    github博文传送门 Java8特性学习笔记 Java8中新增了许多的新特性,在这里本人研究学习了几个较为常用的特性,在这里与大家进行分享.(这里推荐深入理解Java 8用于理解基础知识)本文分为以 ...

  4. Java7编程高级进阶学习笔记

    本书PDF 下载地址: http://pan.baidu.com/s/1c141KGS 密码:v6i1 注:本文有空会跟新: 讲述的是jdk7的内容: 注关于java 更详细的内容请进入:<Ja ...

  5. React入门基础(学习笔记)

    这篇博客是我通过阅读React官方文档的教程总结的学习笔记,翻译可能存在误差,如有疑问请参见http://reactjs.cn/react/docs/tutorial.html . 一.所需文件 在编 ...

  6. C#进阶学习笔记(个人整理)

    学习笔记 第一章: 一.回顾数组 1.变量 : 只能存储一个数据 2.数组 :存储固定大小的相同类型的数据 3.对象 : 存储多个相同/不同类型的数据 4.集合 : 特殊的容器,存储N个相同/不同类型 ...

  7. 学习Vue 入门到实战——学习笔记

    闲聊: 自从进了现在的公司,小颖就再没怎么接触vue了,最近不太忙,所以想再学习下vue,就看了看vue相关视频,顺便做个笔记嘻嘻. 视频地址:Vue 入门到实战1.Vue 入门到实战2 学习内容: ...

  8. JavaScript入门--慕课网学习笔记

     JAVASCRIPT—(慕课网)入门篇 我们来看看如何写入JS代码?你只需一步操作,使用<script>标签在HTML网页中插入JavaScript代码.注意, <script&g ...

  9. PythonI/O进阶学习笔记_1.抽象、面向对象、class/object/type

    前言: 是自己在学习python进阶IO学习视频的时候的理解和笔记,因为很多都是本菜鸟学习时候的自己的理解,有可能理解有误. Content: - 抽象的概念和面向对象的概念?想要大概了解python ...

随机推荐

  1. 『C++』STL容器入门

    最近在学习opencv,因为C++基础很烂,所以遇到了不少问题,其中STL模块也是没少接触,特此简单了解一下STL的容器类型(主要是Vector)和迭代器的简单用法. C++ STL(标准模板库)是一 ...

  2. 【其他】【服务器】【4】删除Windows系统中不想要的服务

    步骤: 1,开始菜单栏查找“服务”,打开后找到想要删除的服务 2,右键单击想要删除的服务,选择“属性”-“常规”-“服务名称”,记下服务名称(AA) 3,开始菜单栏输入“cmd”打开命令行窗口,输入s ...

  3. python-flask基本应用模板

    1.模板继承 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  4. CRM WEB UI 02搜索跳转到详细界面

    结合上一个,在上一个中,创建的是选择链接字段EBELN. 下面来实现点击EBELN跳转到详细界面: 1.创建ZLYTEST03_H组件,做详细界面. 2.创建概览页 DETOV. 3.创建视图集 DE ...

  5. date命令说明

    基本使用格式: date [-d "time-to-display"] +"format-to-display" -d指定要显示的时间,如果不指定默认为当前时间 ...

  6. Java 求两个数百分比%

    int num1 = 500; int num2 = 312; // 创建一个数值格式化对象 NumberFormat numberFormat = NumberFormat.getInstance( ...

  7. Win10系列:VC++媒体播放控制1

    在MediaElement控件中定义了用于控制视频播放的函数,如Play.Pause和Stop等函数.本小节将在20.6.1小节所新建的项目基础上继续来介绍如何为视频添加播放控制,并在最后一部分给出项 ...

  8. Python Django 之 直接执行自定义SQL语句(一)

    一.执行自定义SQL方法 1.Executing custom SQL directly      直接执行自定义SQL,这种方式可以完全避免数据模型,而是直接执行原始的SQL语句. 2.Manage ...

  9. InterBase 数据库与驱动 版本不同

    [Window Title] Project1 - Delphi 10.1 Berlin - Unit1 [Content] Failed: "unsupported on-disk str ...

  10. 每天CSS学习之letter-spacing

    letter-spacing是CSS的一个属性,其作用是设置字符之间的距离.letter意为字符. 1.normal:规定字符之间没有额外的空间.该值是默认值.如下示例: p{ letter-spac ...