文档章节

crontab工具介绍

Linux学习笔记
 Linux学习笔记
发布于 06/19 00:22
字数 950
阅读 19
收藏 0
点赞 0
评论 0

crontab

  • crontab 是一个用于设置周期性被执行的任务工具。
  • 周期性执行的任务列表称为Cron Table

crontab(选项)(参数)

  • -e:编辑该用户的计时器设置;
  • -l:列出该用户的计时器设置;
  • -r:删除该用户的计时器设置;
  • -u<用户名称>:指定要设定计时器的用户名称。

crontab 实践

  • 安装并检查Crontab 服务
  • crontab 基本组成
  • crontab 的配置文件
  • crontab 工具的使用
  • crontab 的日志
  • crontab 常见错误

  • 检查Crontab 服务
[root@xuexi-001 ~]# service crond status ······//检查crond 服务状态
Redirecting to /bin/systemctl status crond.service
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2018-06-17 14:18:25 CST; 7h ago
 Main PID: 541 (crond)
   CGroup: /system.slice/crond.service
           └─541 /usr/sbin/crond -n

6月 17 14:18:25 xuexi-001 systemd[1]: Started Command Scheduler.
6月 17 14:18:25 xuexi-001 systemd[1]: Starting Command Scheduler...
6月 17 14:18:26 xuexi-001 crond[541]: (CRON) INFO (RANDOM_DELAY will be ...)
6月 17 14:18:26 xuexi-001 crond[541]: (CRON) INFO (running with inotify ...)
Hint: Some lines were ellipsized, use -l to show in full.

列出服务项需要执行的操作

[root@xuexi-001 ~]# service crond
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
  • 安装crontab
  • -yum install -y vixie-cron
  • -yum install -y crontabs

案例

每分钟都打印当前时间到一个日志文件中
[root@xuexi-001 ~]# crontab -e ··· 编辑crontab任务
*/1 * * * * date >> /tmp/date.txt 
[root@xuexi-001 ~]# crontab -l ····· 列出当前crontab 任务
*/1 * * * * date >> /tmp/date.txt
[root@xuexi-001 ~]# date
2018年 06月 17日 星期日 21:43:17 CST
[root@xuexi-001 ~]# tail -f /tmp/date.txt ······ 动态显示date.txt文件内容
2018年 06月 17日 星期日 21:43:01 CST
2018年 06月 17日 星期日 21:44:01 CST
2018年 06月 17日 星期日 21:45:01 CST

crontab 的基本组成

系统服务 crond:每分钟都会从配置文件刷新定时任务。

配置文件:文件方式设置定时任务。

配置工具crontab:用于调整定时任务。

crontab 的配置文件格式

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

案例

每晚的21;30重启apache

  • 30 21 * * * service httpd restart

每月1、10、22日的4:45重启apache

  • 45 4 1,10,22 * * service httpd restart

每月1到10日的4:45重启apache

  • 45 4 1-10 * * service httpd restart

每隔两分钟重启apache

  • */2 * * * * service httpd restart
  • 1-59/2 * * * * service httpd restart

晚上11点到早上7点之间,每隔一小时重启apache

  • 0 23-7/1 * * * service httpd restart

每天18:00至23:00之间每隔30分钟重启apache

  • 0,30 18-23 * * * service httpd restart
  • 0-59 18-23 * * * service httpd restart

小结:

  • 表示任何时候都匹配
  • 用”A,B,C“表示A或者B或者C时执行命令
  • “A-B”表示A-B之间时执行命令
  • “*/A”表示每A分钟(小时等)执行一次命令

crontab 配置文件 /etc/crontab

crontab 默认的保存的日志文件 /var/log/cron

第三和第五个域之间执行的是“或”操作

  • 四月的第一个星期日早晨1时59分运行 a.sh

59 1 1-7 4 *test ` date+%w ` -eq 6 && /root/a.sh

%w 一星期中的第几日(0-6),0 代表周一

两小时运行一次

0 */2 * * * date

案例: crontab 中最小只能设置到每分钟执行一个命令,如果想每半分钟执行某个命令怎么做到呢?

  • 通过shell脚本的sleep 命令配合crontab 即可完成这一功能
  • date && sleep 0.5s && date
[root@xuexi-001 ~]# crontab -e
*/1 * * * * date >> date.log
*/1 * * * * sleep 30s; date >> date.log
[root@xuexi-001 ~]# cat  date.log 
2018年 06月 18日 星期一 00:34:01 CST
2018年 06月 18日 星期一 00:34:32 CST
2018年 06月 18日 星期一 00:35:01 CST
2018年 06月 18日 星期一 00:35:31 CST

© 著作权归作者所有

共有 人打赏支持
Linux学习笔记
粉丝 3
博文 36
码字总数 94711
作品 0
临汾
简单易懂的crontab设置工具集

generate it 这个网站上很多web相关工具,如:CSS tools、image tools、SEO tools等,这里我们着重介绍website tools下的Cron Job Generator。这个工具提供了自定义和一些定时模板。可以快速...

linuxprobe
2016/09/28
29
0
小凡的Linux主机与时间服务器同步记录

1.了解定时任务工具crontab a.相关命令的介绍 crontab -u # 设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l # 列出某个用户cron服务的详细内容 crontab -r...

linuxprobe
2016/06/22
4
0
crontab 管理工具

crontab A crontab tool build by golang Crontab 背景: 在实际工作中经常需要在服务器上添加定时任务,当任务多了的时候管理起来就比较麻烦,所以想要有一个方便使用和管理的crontab工具 ...

chunhei2008
2015/01/01
2.5K
0
实用命令行工具详解—crontab

一 crontab介绍 crontab 是linux 用来定期执行程序的命令,默认系统会启动此任务调度命令。crontab命令每分钟会定期检查是否有要执行的工作,若有便会自动执行。 二 命令格式 crontab -l|-r|...

lcdmusic
2015/12/14
72
0
计划任务crontab

1.crontab介绍 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond...

LavenDer7n
2017/12/04
0
0
20170204L07-09-03老男孩linux运维实战培训-Sersync实时同步软件实战应用指南-1

Sersync 一个批量同步的工具 现在大家经常用的的同步工具inotify和谷歌的Openduckbill Sersync是使用inotify和rsync来完成批量布署的一个整合工具 本节主要就是简单介绍了一下这个工具的原理...

wangchangshu2
2017/02/04
0
0
使用YII2构建一个定时任务管理后台

首先介绍一下我遇到过的,个人觉得奇葩的极其不方便的定时任务方式 每当有一个定时任务需求就在下中注册一个任务 不知道有不有大兄弟躺枪了,希望你看了我的实现方式后,以后不要这么搞定时任务...

botkenni
05/03
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
07/17
0
0
#研发中间件介绍#定时任务调度与管理JobCenter

郑昀 最后更新于2014/11/11 关键词: 定时任务 、调度、监控报警、Job、crontab、Java 本文档适用人员:研发员工 没有JobCenter时我们要面对的: 电商业务链条很长,业务逻辑也较为复杂,需要...

旁观者-郑昀
2015/01/04
0
1
#研发中间件介绍#定时任务调度与管理JobCenter

关键词:定时任务、调度、监控报警、Job、crontab、Java 本文档适用人员:研发员工 没有JobCenter时我们要面对的: 电商业务链条很长,业务逻辑也较为复杂,需要成百上千种定时任务。窝窝的大...

郭恩洲_OSC博客
2015/02/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

庆祝自己过了ACP!!

经过三个月的努力,ACP终于过了,但这只是敏捷实践的开始,路还长

talen
4分钟前
0
0
markdown

首次使用Markdown写博客,好激动! Hexo在Github中搭建博客系统(5)Markdown语法 Hexo在Github中搭建博客系统(5)Markdown语法

miaojiangmin
5分钟前
0
0
10.34 linux系统日志 10.35 screen工具

liunx系统日志 内容: • /var/log/messages • /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 • dmesg命令 • /var/log/dmesg 日志 • last命令......

Linux_老吴
5分钟前
0
0
java 重写排序规则,用于代码层级排序

1.dataList 是个List<Map<String,Object>> 类型的数据,所以比较的时候是冲map中获取数据,并且数据不能为空。 2.dataList 类型是由自己定义的,new Comparator<Map<String,Object>> 也是对应......

轻量级赤影
12分钟前
0
0
分布式大型互联网企业架构!

摘要: 开发工具 1.Eclipse IDE:采用Maven项目管理,模块化。 2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码...

明理萝
12分钟前
0
1
对MFC程序的一点逆向分析:定位按钮响应函数的办法

因为消息响应函数保存在AFX_MSGMAP_ENTRY数组中, 观察nMessage、nCode、nID、pfn利用IDA在rdata段中搜索即可, 在IDA中找到代码段基址0x401000,函数地址0x403140, 在WinDbg中运行!addre...

oready
13分钟前
0
0
阻抗匹配与史密斯(Smith)圆图基本原理

参考:http://bbs.eeworld.com.cn/thread-650695-1-1.html

whoisliang
18分钟前
0
0
maven配置文件分离

一、 简介 遇到很多次别人处理的项目,测试环境,本地开发和线上环境的配置不一样,每一次部署都要重新修改配置文件,提交审核代码,才能打包,非常不方便。 其实相信很多人都知道可以使用m...

trayvon
18分钟前
0
0
MacOS和Linux内核的区别

导读 有些人可能认为MacOS和Linux内核有相似之处,因为它们可以处理类似的命令和类似的软件。甚至有人认为苹果的MacOS是基于linux的。事实上,这两个内核的历史和特性是非常不同的。今天,我...

问题终结者
34分钟前
1
0
SpringBoot | 第八章:统一异常、数据校验处理

前言 在web应用中,请求处理时,出现异常是非常常见的。所以当应用出现各类异常时,进行异常的捕获或者二次处理(比如sql异常正常是不能外抛)是非常必要的,比如在开发对外api服务时,约定了响...

oKong
42分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部