2019-03-22课堂笔记

Linux系统定时任务Cron(d)服务应用实践

1.1 Cron(d)介绍

1.1.1 什么是Cron

Cron是Linux系统中以后台进程模式周期性执行命令或指定程序任务的服务软件。默认情况下,安装完Linux操作系统之后,Cron服务软件便会启动,服务对应的进程名字为Crond,Crond服务会定期(默认每分钟检查一次)检查系统中是否有需要执行的任务工作计划。如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作。这个Crond定时任务服务就相当于我们平时使用的闹钟(或手机闹钟)。
Linux系统中的Cron定时任务的最快执行频率是每分钟执行一次,因此如果是需要以秒为单位执行计划任务,Cron 就搞不定了。

1.1.2 为什么使用Crond定时任务

Linux 运维工程师的职责之一就是确保数据安全,那么,其日常工作任务之一就是不断地对数据进行备份,而很多时候因为白天系统业务繁忙,所以数据备份的工作只能放到晚上执行,这就需要Linux系统的定时任务Cron工具了,Cron 工具很好地帮我们解决了需要周期性自动备份的运维工作。

1.1.3 Linux系统下定时任务软件

Cron定时任务软件依赖于Crond服务。正如前面所说,通过crontab命令可以配置周期性执行的定时任务工作计划。要使得crontab命令设定的配置生效,还需要先启动一个服务Crond才行。这个Cron工具(对应的crontab命令以及依赖的Crond服务)是运维工程师在生产工作中最常用的工具。

1.1.4 Linux系统定时任务Cron(d)

在Linux系统中,Cron是定时任务的软件名,Crond是服务进程名,真正实现定时任务服务,而crontab命令是用来设置定时任务规则的配置命令。
1、 用户定时任务计划
Crond服务在工作时会以分钟为单位查看/var/spool/cron路径下以系统用户名命名的定时任务文件,确定是否有需要执行的任务计划。
2、 系统定时任务计划
Crond服务除了执行用户定时任务计划(/var/spool/cron目录)意外,还会周期性地自动执行和操作系统相关的定时任务工作。

1.2 用户定时任务Cron(d)使用说明

1.2.1 crontab定时任务编辑命令参数

2019-03-22课堂笔记_第1张图片
image.png

注:使用crontab ,命令编辑的文件实际上就是在操作“/var/spool/cron/当前用户名”这样的文件。即:
crontab –l == cat /var/spool/cron/当前用户名
crontab –e == vim /var/spool/cron/当前用户名

1.2.2 定时任务软件相关软件及路径说明

2019-03-22课堂笔记_第2张图片
image.png

1.2.3 以用户定时任务crontab命令编辑内容格式

默认情况下,待用户建立定时任务规则后,该规则会在/var/spool/cron中记录对应的配置文件,其crontab配置文件对应的文件名与登录的用户名一致,如: root 用户的定时任务配置文件为/var/spool/cron/root。
利用crontab命令编写定时任务的书写格式很简单,规则一般分为6个段(每个段通过空格来分隔),前5段为时间设定段,第6段为所要执行的命令或脚本任务段。

1.2.3.1 用户定时任务中各段的含义
2019-03-22课堂笔记_第3张图片
image.png

时间记忆口诀:分时日月周。

1.2.3.2 用户定时任务中特殊符号的含义
2019-03-22课堂笔记_第4张图片
image.png

注意:
1、 在编辑定时任务文件后,无需重启定时任务,Crond会自动检查更改的变化。
2、 当定时任务不能正确执行时,请查看定时任务日志文件(/var/log/cron)获取故障信息。

1.3 运维规范:

脚本位置:/server/scripts
软件位置:/server/tools
编译位置:/application/软件名字-版本,然后创建软链接

1.4 生产环境下的定时Cron书写要领

要领1:为定时任务规则加必要的注释
要领2:所有的定时任务尽量都以脚本的形式执行
要领3:在执行的Shell脚本前加上/bin/sh
要领4:定时任务中命令或脚本的结尾加>/dev/null 2>&1
要领5:在指定用户下执行相关定时任务
要领6:再生产任务计划程序中不要随意打印输出信息
要领7:定时任务执行的脚本要存放到规范路径下
要领8:配置定时任务要规范操作过程,减少出错
要领9:定时任务脚本中程序命令及路径尽量用全路径
要领10:时间变量%号要用反斜线转义
要领11:若脚本中调用了系统环境变量,要重新定时
要领12:出错或无法执行,就检查/var/log/cron日志

1.5 调试Cron定时任务的技巧

1、 增大执行任务频率调试任务
2、 调整系统时间调试任务(不能用于生产环境)
3、 通过脚本日志输出调试任务
4、 通过Crond定时任务服务日志调试定时任务

你可能感兴趣的:(2019-03-22课堂笔记)