crontab 定时工具(周期性执行的任务列表称为Cron Table),其中每一个任务,被称为Cron Job。

可以,每分钟执行,每小时执行,每天执行,每周执行,每月执行。

检查服务

1.查看任务

jiqing@ubuntu:~/桌面$ sudo crontab -l
no crontab for root

2.查看服务

jiqing@ubuntu:~/桌面$ sudo service cron status
cron start/running, process 1163
jiqing@ubuntu:~/桌面$ sudo service cron restart
cron stop/waiting
cron start/running, process 20296

安装服务

jiqing@ubuntu:~/桌面$ sudo apt-get install cron
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:gstreamer0.10-plugins-ugly liba52-0.7.4 libdvdnav4 libdvdread4 libmad0libmp3lame0 libmpeg2-4 libopencore-amrnb0 libopencore-amrwb0 libsidplay1libtwolame0 libx264-142 linux-image-extra-4.4.0-31-generic
Use 'apt-get autoremove' to remove them.
建议安装的软件包:checksecurity exim4 postfix mail-transport-agent
下列【新】软件包将被安装:cron
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 7 个软件包未被升级。
需要下载 81.0 kB 的软件包。
解压缩后会消耗掉 301 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/main cron i386 3.0pl1-124ubuntu2 [81.0 kB]
下载 81.0 kB,耗时 1秒 (40.5 kB/s)
正在选中未选择的软件包 cron。
(正在读取数据库 ... 系统当前共安装有 269953 个文件和目录。)
正准备解包 .../cron_3.0pl1-124ubuntu2_i386.deb  ...
正在解包 cron (3.0pl1-124ubuntu2) ...
正在处理用于 man-db (2.6.7.1-1ubuntu1) 的触发器 ...
正在处理用于 ureadahead (0.100.0-16) 的触发器 ...
正在设置 cron (3.0pl1-124ubuntu2) ...
cron start/running, process 22657

设置任务

>
是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);>>
这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。
 crontab -e
# m h  dom mon dow   command
*/1 *  *   *   *     date >> ~/time.log

每分钟,将执行一次。将日期写入log中。

jiqing@ubuntu:~$ cat time.log
2018年 04月 17日 星期二 17:13:01 CST
2018年 04月 17日 星期二 17:14:01 CST
2018年 04月 17日 星期二 17:15:01 CST
2018年 04月 17日 星期二 17:16:01 CST
2018年 04月 17日 星期二 17:17:01 CST

前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:

分钟          0 - 59
小时          0 - 23
天            1 - 31
月            1 - 12
星期           0 - 6       0表示星期天
除了这些固定值外,还可以配合星号(*),逗号(,),和斜线(/)来表示一些其他的含义:
星号          表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
逗号          可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
斜线          一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 */2 代表每隔两分钟。所以 */1 和 * 没有区别,*/2 可以看成是能被2整除的任意值。

以下是一些例子(省略了命令部分):

* * * * *                  # 每隔一分钟执行一次任务
0 * * * *                  # 每小时的0点执行一次任务,比如6:00,10:00
6,10 * 2 * *               # 每个月2号,每小时的6分和10分执行一次任务
*/3,*/5 * * * *            # 每隔3分钟或5分钟执行一次任务,比如10:03,10:05,10:06  
jiqing@ubuntu:~$ tail -f time.log
2018年 04月 17日 星期二 17:18:01 CST
2018年 04月 17日 星期二 17:19:01 CST
2018年 04月 17日 星期二 17:20:01 CST
2018年 04月 17日 星期二 17:21:01 CST
2018年 04月 17日 星期二 17:22:01 CST
2018年 04月 17日 星期二 17:23:01 CST
2018年 04月 17日 星期二 17:24:01 CST
2018年 04月 17日 星期二 17:25:01 CST
2018年 04月 17日 星期二 17:26:01 CST
2018年 04月 17日 星期二 17:27:01 CST
2018年 04月 17日 星期二 17:28:01 CST

可以通过tail -f实时监控文本日志。

若在crontab中写了如下的一个任务:
0 6 * * * echo “Good morning.“//注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了
可以把这个输出重定向到另外一个标准输出文件中,比如说重定向输出到一个txt文件中
0 6 * * * echo “Good morning.” >> /tmp/test.txt 

新建一个php任务。

*/1 *  *   *   *     php /home/wwwroot/default/test/test.php >> ~/phptime.log

php中的代码,

<?php
echo date('Y-m-d H:i:s')."\n";
?>
jiqing@ubuntu:/home/wwwroot/default/test$ tail -f ~/phptime.log
2018-04-17 17:39:01
2018-04-17 17:40:01
2018-04-17 17:41:01
2018-04-17 17:42:01

有反应哦。

ubuntu下使用crontab定时器相关推荐

  1. ubuntu下的定时器编写

    ubuntu下的定时器编写 一.cron简介 在Linux系统中,计划任务一般是由cron承担,我们可以把cron设置为开机时自动启动.cron启动后,它会读取它的所有配置文件(全局性配置文件/etc ...

  2. 运维经验分享(三)-- 解决Ubuntu下crontab不能正确执行脚本的问题

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1676490 运维 ...

  3. 【linux】ubuntu下crontab无效解决方法

    在Debain的docker中启用crontab,踩了一整天的坑,特地记录一下.Debain和ubuntu差不多,故算在ubuntu下面了. 1.第一个坑,安装crontab apt-get inst ...

  4. Ubuntu下crontab命令的用法

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...

  5. Mac下使用crontab来实现定时任务

    Mac下使用crontab来实现定时任务 说明: 1.Linux和Mac下操作crontab都是一致的 2.配置文件都在/etc/crontab下,如果没有就创建. 3.测试发现直接使用crontab ...

  6. shell脚本触发java程序支持传参补跑 +crontab定时器+每天生成日期文件_03

    文章目录 1. 脚本升级 2. 执行测试 3. 脚本关键词简述 补充案例 上一篇: shell脚本触发java程序支持传参补跑 +crontab定时器_02 https://gblfy.blog.cs ...

  7. shell脚本触发java程序支持传参补跑 +crontab定时器_02

    文章目录 1. 创建定时任务 2. 查看定时任务是否执行 上一篇: shell脚本触发java程序支持传参补跑_01 https://gblfy.blog.csdn.net/article/detai ...

  8. ubuntu下定时任务的执行

    概述 linux系统由 cron (crond) 这个系统服务来控制例行性计划任务.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的. 另外, 由于使用者自己也可以设置计划 ...

  9. ubuntu下cron不执行的常见问题

    cron常用命令: 查看当前执行的任务:crontab -l 编辑:crontab -e 保存:Crtl+x 按提示输入 Y 然后按 回车 键直接保存退出 1.ubuntu下cron打开日志: vi ...

最新文章

  1. 心得丨如何快速上手疯狂上涨的Python?
  2. 第三周项目三-输出星号图(4)
  3. python3.6+RF环境搭建
  4. python做大型网站_Python中的大型Web应用:一个好的架构
  5. Pandas知识点-逻辑运算
  6. 【MyBatis框架】Mybatis开发dao方法第二部分
  7. 牛客网-《剑指offer》-跳台阶
  8. LiveLayout
  9. [转]ListView滚动到底部自动加载数据
  10. adobe acrobat pro字体很怪,有点发虚,不整齐,调整方法
  11. 2021-04-02
  12. 身份证归属地信息查询接口
  13. 中国鲷鱼养殖产量和捕捞产分析,养殖产业区域集中度高「图」
  14. KiCad 部分插件安装
  15. 沟通成本:信任,外包永远的痛——外包实践(65)
  16. 如何实现Win7远程桌面关机和重启
  17. 基于servlet+jsp 个人博客系统
  18. 算法竞赛入门学习(篇一)
  19. arachni_web显示500,We‘re sorry, but something went wrong.
  20. 加一行代码,让你的Python的运算速度加快100倍

热门文章

  1. Matplotlib Tutorial(译)
  2. 2015 SegmentFault 黑客马拉松记录
  3. Machine Learning课程 by Andrew Ng
  4. 42. Vue、React 等前端项目部署,刷新 404 问题解决方案
  5. Saltstack基本安装部署
  6. 移动端banner css3(@keyframes )实现
  7. 《嵌入式系统数字视频处理权威指南》——第1章 现实世界中的视频
  8. springmvc+batis applicationContext-mybatis.xml 具体说明
  9. 架构师速成8.3-架构师必须要了解的规则(转)
  10. RIS镜像中添加网卡和RAID卡驱动方法及实践经验总结