自动执行

大部分时候,我们需要定时任务来帮我们自动执行一些操作,比如清理几个月之前的日志、项目上线等。

crontab

crontab 提供了非常简单实用的使用体验。crontab(crond table) 管理定时任务非常简单,只需要编辑一个文件就可以了。这个文件里,每一行都代表:某月某周某日某时某分要执行的任务。
通过 crontab -e 命令直接打开这个文件。

第一次打开时可能会让你选用什么编辑器来编辑,命令行里的编辑器通常与我们日常使用的有很大的不一样,这里建议使用 gedit 来编辑,当然如果没用过 gedit,需要先百度查查其用法(很简单)

看看配置文件

第一次打开,这个文件里应该是一堆注释(井号后面是注释),用来介绍 crontab。可以直接把他们都删掉,然后输入并保存:(注意空格哦)

* * * * * echo hello >> ~/crontab.test

这一行分两部分,第一部分是前面的五个星,用来表示任务执行的时间,后面再详细解释。第二部分是定时被执行的任务:输出“hello”到家目录下的 crontab.test 文件(这个文件需要自己手动创建,命名什么的随意)。

文件保存后,会立即生效,不需要其他操作

也许唯一的难点在于理解和使用那五颗星。
如果直接解释这些星星的意义或者使用规则,那肯定是难以理解的,先看看下面这些例子:

10 * * * * echo hello >> ~/crontab.test
# 每个小时的第 10 分钟执行一次
# 比如 八点十分,九点十分,每天,每月,每周都会执行
10 8 * * * echo hello >> ~/crontab.test
# 每天的八点十分都会执行一次
10 8 1 * * echo hello >> ~/crontab.test
# 每月一号的八点十分执行一次
10 8 1 1 * echo hello >> ~/crontab.test
# 每年的一月一号的八点十分执行一次
10 8 * * 1 echo hello >> ~/crontab.test
# 每周一的八点十分执行一次
实践出真知

上面是一些实践,现在我们知道了那些星星的意义:

  • 每一颗代表一个时间单位

注意:第五颗星的取值范围是 [0, 1, 2, 3, 4, 5, 6],周日是零

另外……

如果我想每两小时执行一次呢?
10 */2 * * * echo hello >> ~/crontab.test

注意 */2 之间没有空格

上面的一行代表:零点、两点、四点、六点……的第十分钟(比如六点十分)执行一次。也就是能被二整除的小时执行一次

注意:设定每两小时执行一次的任务时,必须指定分钟,否则,零点、两点的每分钟都会执行一次(一点三点时不会执行)

如果我想特定的几个时间执行呢?
10 8 1,2,3 * * echo hello >> ~/crontab.test

上面代表:每月的一二三号的八点十分执行一次

日志

定时任务会自动记录日志,存储在/var/log/cron.log

但是 ubuntu 默认是关闭了这个日志的,需要进行一下操作:

  • 编辑日志服务的配置文件:/etc/rsyslog.d/50-default.conf
  • 把 cron 那一行的注释去掉,并保存退出
  • 重启日志服务:sudo service rsyslog restart

crontab·定时任务使用笔记相关推荐

  1. _CentOS「linux」学习笔记11:crontab定时任务常用参数和基本语法

    ​linux基础操作:主要介绍了crontab定时任务的常用参数和基本语法 crontab[定时任务,重复执行特定的命令或脚本,类似Windows下的计划任务] crontab常用参数和基本语法介绍: ...

  2. Crontab 定时任务配置;开机自动执行任务 ;crontab定时任务的关闭;2>1解释

    Crontab定时任务配置  最近用flask 写一个小工具,需要端口一直可以稳定的支持访问,奈何环境用的人太多,老有人误删除进程,于是想用crontab 实现一个守护进程,可以定时检测需要的进程是否 ...

  3. php定时任务为什么不好写,php解决crontab定时任务不能写入文件问题的方法分析...

    本文实例讲述了php解决crontab定时任务不能写入文件问题的方法.分享给大家供大家参考,具体如下: 今天使用crontab写的定时任务没有执行,很纳闷. crontab.php error_rep ...

  4. linux crontab 定时任务 计划任务 不执行 原因

    前言 最近在工作中遇到了一些问题,crontab定时任务居然不执行,后来我在网上找的时候发现网上主要说了这几个原因: 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个cr ...

  5. 【Linux】crontab 定时任务 遇到几个问题

    文章目录 cron 与 crontab 区别 bash xxx.sh 可以执行,但是crontab定时任务不执行,也没有报错信息,无日志: 首先区分 crontab -e 和 /etc/crontab ...

  6. CentOS crontab定时任务不执行的解决

    crontab 配置文件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # .- minute (0 59 ...

  7. python定时任务crontab_【Python】Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. cron 系统调度 ...

  8. crontab定时任务不生效问题解决

    导致crontab定时任务不生效问题可能的原因非常多 首先,排查一些可能会导致问题出现的简单原因. 1.Linux的时间与互联网时间不一致 2.定时执行的.sh文件无执行权限 3.crontab进程未 ...

  9. linux怎么查看定时任务有没有运行,怎么看crontab定时任务是否执行

    定时执行操作命令,每一个用户拥有自己的crontab,那么大家知道怎么看crontab定时任务是否执行呢?接下来大家跟着学习啦小编一起来了解一下的看crontab定时任务是否执行解决方法吧. 看cro ...

最新文章

  1. ios ffmpeg 保存mp4
  2. Spring源码解析-核心类之XmlBeanDefinitionReader
  3. Android --- 动态获取定位权限时: Fragment 中 onRequestPermissionsResult 方法不执行
  4. 用JAVA制作微型操作系统4月23日情况
  5. AciveMQ小结|最后有视频
  6. 效果直逼flash的Div+Css+Js菜单
  7. oracle的perfstat用户,安装statspack的最后一步出错:ORA-01918: 用户'PERFSTAT'不存在
  8. 科学家奠定了计算机的基础,大学计算机基础考试笔试重点
  9. Sophos 修复 Cyberoam OS 中的 SQL 注入漏洞
  10. 《移动App测试的22条军规》—App测试综合案例分析23.11节测试微信App对多语言和地区的支持...
  11. Atitit.软件开发的几大规则,法则,与原则p821.doc
  12. HDU 6143 Killer Names
  13. Android腾讯微博开放平台入门(四)发表一条文字微博
  14. number数据类型
  15. 东方国信(实习一面)
  16. windows system info
  17. Markdown——下载链接与语法说明
  18. 字符串连接 (c语言)
  19. STM32——光敏传感器实验-M4
  20. 属性与意图识别_攻击意图动态识别模型

热门文章

  1. 梦幻模拟战更新服务器正在维护,4月29日更新维护公告
  2. 计算机系统——虚拟内存
  3. Java设计模式——结构型模式之享元模式
  4. 2012第23周移动游戏推荐
  5. python 二进制文件的读写
  6. 插本c语言是笔试吗,计算机专插本考试科目有哪些
  7. JS实现飞机大战小游戏 超详细 附源码和原图
  8. 《uni-app》表单组件-form表单
  9. 银行封杀信用卡支付宝交易 无利可图是主因
  10. 卖不掉的“爆款”,追不上的潮流,服饰业的出路在哪里?