1、简介

cron是一个在后台运行调度的守护进程,而crontab是一个设置cron的工具。cron调度的是/etc/crontab文件。

2、centos安装crontab

yum install crontabs

3、crontab的配置文件

Linux下的任务调度分为两类:系统任务调度和用户任务调度。Linux系统任务是由 cron (crond) 这个系统服务来控制的,这个系统服务是默认启动的。用户自己设置的计划任务则使用crontab 命令。在CentOS系统中,

cat /etc/crontab

配置文件可以看到如下解释:

前三行:用来配置crond任务运行的环境变量。

第一行:SHELL变量指定了系统要使用哪个shell,这里是bash;

第二行:PATH变量指定了系统执行命令的路径;

第三行:MAILTO变量指定了crond的任务执行信息发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户;

用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致:

4、crontab命令详解

格式:
crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r }
说明:
crontab –e     //修改 crontab 文件,如果文件不存在会自动创建。
crontab –l //显示 crontab 文件。
crontab -r //删除 crontab 文件。
crontab -ir //删除 crontab 文件前提醒用户。 service crond status //查看crontab服务状态
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
取消某个定时任务:

删除在配置文件中的对应命令,即 crontab -e 打开文件,然后删除对应哪行的命令即可

5、定时任务的基本格式(即crontab -e使用说明)

*  *  *  *  *  command
分 时  日  月  周  命令

第1列表示分钟 00~59 每分钟用*或者 */1表示

第2列表示小时 00~23(0表示0点)

第3列表示日期 01~31

第4列表示月份 01~12

第5列标识号星期 0~6(0表示星期天)

第6列要运行的命令

此外每一列除了数字,还可以有这些符号,其含义如下所示:

*        代表任何时间,比如第一个 * 就代表一小时中的每分钟都执行
, 代表不连续的时间,比如 0 8,12,16 * * * 代表每天8,12,16点0分执行
- 代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六凌晨5点0分执行
*/n 代表每个多久执行一次,比如*/10 * * * *代表每隔10分钟执行一次
示例:

(1)在 凌晨00:10运行

10 0 * * * sh test.sh

(2)每个工作日23:59都进行备份作业

59 23 * * 1,2,3,4,5 sh test.sh
或者
59 23 * * 1-5 sh test.sh

(3)每分钟运行一次命令

*/1 * * * * sh test.sh

(4)每个月的1号 14:10 运行

10 14 1 * * sh test.sh

(5)每10分钟定时请求一个地址

0 */10 * * * /usr/bin/curl http://www.aaa.com/index.php

6、 crontab 日志

tail -f /var/log/cron

7、Q&A--crontab定时任务脚本不执行?

(1)全路径。crontab定时任务(crontab -e编辑中涉及的路径)要写全路径,全路径!

(2)执行权限。看日志,cat /var/log/cron。如果日志中有执行记录可能是脚本没有执行权限。

8、应用

实现每分钟向文件写入一条数据的效果:

crontab使用说明【一文搞懂Linux定时任务Crontab】的更多相关文章

  1. 一文搞懂 Linux 的 inode!

    一个执着于技术的公众号 1.inode 是什么 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于 ...

  2. 一文搞懂 Linux network namespace

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 本文通过 IP ...

  3. 一文搞懂Linux系统开发

    先列一下Linux系统开发要掌握的知识,以后有时间再一一介绍. 欢迎关注我的微信公众号:fensnote 文章目录 Linux系统开发会用到什么? C语言基础 shell脚本 学会使用Makefile ...

  4. 盘点linux操作系统中的10条性能调优命令,一文搞懂Linux系统调优

    原文链接:猛戳这里 性能调优一直是运维工程师最重要的工作之一,如果您所在的生产环境中遇到了系统响应速度慢,硬盘IO吞吐量异常,数据处理速度低于预期值的情况,又或者如CPU.内存.硬盘.网络等系统资源长 ...

  5. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

  6. 一文搞懂vim复制粘贴

    转载自本人独立博客https://liushiming.cn/2020/01/18/copy-and-paste-in-vim/ 概述 复制粘贴是文本编辑最常用的功能,但是在vim中复制粘贴还是有点麻 ...

  7. 如何让linux定时任务crontab按秒执行

    如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟如果想以秒为单位执行,应该如何设置呢?思路 正常情况是在crontab中直接定义要执行的任务,现 ...

  8. linux定时任务crontab的设置

    linux定时任务crontab的设置http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html vi /etc/cronta ...

  9. 一文搞懂RAM、ROM、SDRAM、DRAM、DDR、flash等存储介质

    一文搞懂RAM.ROM.SDRAM.DRAM.DDR.flash等存储介质 存储介质基本分类:ROM和RAM RAM:随机访问存储器(Random Access Memory),易失性.是与CPU直接 ...

  10. 基础篇|一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

随机推荐

  1. go两种数据类型的区别、数据类型和操作符、常量、变量声明

    值类型和引用类型 1.值类型:变量直接存储值,内存通常在栈中分配. 基本数据类型int.float.bool.string以及数组和struct. 2.引用类型:变量存储的是一个地址,这个地址存储最终 ...

  2. 基础框架SSM导学

    SSM Spring SpringMVC Maven高级 SpringBoot MybatisPlus spring官网:http://spring.io

  3. git cherry-pick适用场景详解

    前提条件:有2个分支,分别是master,hotfix,其中master是用于生产环境的发布分支. 场景1:生产环境hotfix. T1时刻,使用master分支发布生产.当时的HEAD的commit ...

  4. jsp第十周

    数据库test 中建个表 stu(stuid 主键 自动增长 ,用户名,密码,年龄) 1.设计一个注册页面,实现用户注册功能2.设计一个登陆页面,实现用户名密码登陆3.两个页面可以互相超链接 Base ...

  5. 原来sed不支持非贪婪匹配

    场景 从GISAID上面批量下载下来的序列id很长,格式如下: 太长了,并且makeblastdb的时候-parse_seqids参数会导致报错,大概是长度太长不符合要求无法处理之类的. 不作处理去掉 ...

  6. pip下载时使用国内镜像 设置pip.ini文件

    https://blog.csdn.net/u011107575/article/details/109901086 https://www.python.org/ftp/python/https:/ ...

  7. 一道网红题:Java值传递,答案开始看了不太懂,是不是涉及到了匿名类的实例化?

    题目如下:看起来是值传递的考察... public class Test{ public static void main(String[] args){ int a = 10; int b = 10 ...

  8. 116、商城业务---分布式事务---seata的AT模式存在的问题&&最终一致性库存解锁逻辑

    seata的AT模式不适合高并发的项目,因为它需要加锁来保证回滚.因此我们的订单服务方法中就尽量不能使用@GlobalTransactional来管理分布式事务. 因此在订单服务中,我们使用下面这种方 ...

  9. 关于rust cargo下载依赖慢的解决方法(转载)

    网址: https://zhuanlan.zhihu.com/p/74875840?from_voters_page=true win环境基本输入两个命令就好了 $env:http_proxy=&qu ...

  10. nginx学习之路

    nginx反向代理服务器 1.技术选型 nginx主要能实现的功能有负载均衡,反向代理,动静分离.选择nginx主要为了实现反向代理以及负载均衡功能, *为什么要实现反向代理 传统项目直接暴露在外网入 ...