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. 函数模版和主函数分别在.h .cpp中(要包含.cpp)

    Complex.h #pragma once #include<iostream> using namespace std;//这句还必须加,要不然致错,不懂为啥呢 template &l ...

  2. windos 开启openssl

    前面我使用的是wampserver百度提示的软件,然后我卸载了,自己重新再官网上下载了一个比较新的版本,然后我按照的时候用默认路径,他的的都不用怎么配置,新版本都给你弄好了. 低版本的要在httped ...

  3. oracle登陆触发器及精细审计

    --oracle精细审计FGAselect tab2.userhost 引起操作的主机名,tab2.os_user 引起操作的主机用户,tab2.object_schema 被操作对象所属用户,tab ...

  4. ajax请求二进制流图片并渲染到html中img标签

    日常显示图片都诸如这种形式:直接使用img的src属性 <img src="图片路径.地址" alt="" /> 以上方法无法在获取图片请求中设置请 ...

  5. Java中关键字this、super的含义及使用

    Java语言中this的含义及作用: 关键字this用来指向当前实例对象(内存里正在运行的哪个实例对象),它的另一作用是用来区分对象的成员变量与方法的形参. 关键字super指的是当前对象里边的父对象 ...

  6. 图解ActiveMQ virtual topic

    http://activemq.apache.org/virtual-destinations.html 普通的 topic 是发布/订阅模式:消息会被广播发送给所有的订阅者,订阅者拿到的是全部消息, ...

  7. 谈一谈JUnit神奇的报错 java.lang.Exception:No tests found matching

    最近在学习Spring+SpringMVC+MyBatis,一个人的挖掘过程确实有点艰难,尤其是有一些神奇的报错让你会很蛋疼.特别是接触一些框架还是最新版本的时候,会因为版本问题出现很多错误,欢迎大家 ...

  8. windows mfc 程序,不同程序通信和互斥

    1. 共享内存(项目中使用过) 我转备份文章:http://www.cnblogs.com/swing07/p/8087686.html CreateFileMapping 或 OpenFileMap ...

  9. jdk settings

    JAVA_HOME   D:\envs\jdk\jdk8\jdk18045\jdk1.8.0_45   CLASSPATH   .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\to ...

  10. zabbix3.4.7配置邮件告警详细步骤

    Zabbix服务器操作 1.  安装sendmail或postfix (邮件传送代理MTA),本教程使用sendmail软件. (标注:如果直接使用外部邮箱发送邮件可以不需要配置sendmail或po ...