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. spring boot(十三)小技巧

    一些springboot小技巧.小知识点 初始化数据 我们在做测试的时候经常需要初始化导入一些数据,如何来处理呢?会有两种选择,一种是使用Jpa,另外一种是Spring JDBC.两种方式各有区别下面 ...

  2. css单位分析、颜色设置与调色板

    CSS单位分析 px:单位代表像素,1px代表一个像素点. %:设置子元素为父容器的占比. em:代表该元素中一个字体所占字符,常用在文字首行缩进.其具有继承性. rem:始终代表html中的字符所在 ...

  3. Oracle 数据库中查看表空间的2种方法

    在Oracle数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西. Oracl ...

  4. MinGW安装教程( MinGW - Minimalist GNU for Windows)

    首先说明一下 1) MinGw只是其中一种GCC编译环境的安装程序,还有像Cygwin也是差不多的; 2) 还要就是安装MinGw,最好在一个网络比较好的环境中进行,  (有可能导致后来安装其他软件像 ...

  5. TP5+jquery即点既改

    //表单 {volist name="date" id="v"}<tr id="{$v.id}"> <td>< ...

  6. 2017-4-28/PHP实现Redis

    谈一谈Redis的数据结构,如果换做PHP,怎么实现?如果再考虑用上LFU或LRU,又该如何实现?   Redis的数据结构有String.List.Set.Sorted Set.Hash等,而PHP ...

  7. C++ leetcode Longest Substring Without Repeating Characters

    要开学了,不开森.键盘声音有点大,担心会吵到舍友.今年要当个可爱的技术宅呀~ 题目:Given a string, find the length of the longest substring w ...

  8. NOIP2015神奇的幻方

    题目描述 幻方是一种很神奇的 N∗N 矩阵:它由数字1,2,3,⋯⋯,N×N 构成,且每行.每列及两条对角线上的数字之和都相同. 当 N 为奇数时,我们可以通过下方法构建一个幻方: 首先将 1 写在第 ...

  9. Qt 设置窗口居中显示和窗体大小

    设置窗口居中显示 方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码: #include <QDesktopWidget> //....... QDesktopWidget ...

  10. Eclipse Mars-Ant无法使用jre1.6的问题

    https://www.jianshu.com/p/24b9517d7f43 Eclipse 升级到Mars 4.5.1版本后,老项目使用jdk1.6,通过ant编译jar时,会遇到如下问题: 使用j ...