2019-03-21day16预习笔记

day16预习笔记

第十三章  Linux系统定时任务Cron(d)服务的应用与实践

什么是Cron(d) ?

Cron是Linux系统中以后台进程模式周期性执行命令或指定程序任务的服务软件。(默认每分钟检查一次) 检查系统中是否需要执行的任务工作计划。如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作。

为什么要使用Crond定时任务?

因为Cron工具很好地帮我们解决了需要周期性自动备份的运维工作。


Linux系统下定时任务软件:

at:定时任务软件(依赖于atd服务)适合仅执行一次就结束的调度任务工作。

Cron定时任务软件依赖于crond服务

anacron定时任务软件主要是为非7x24小时开机的服务器准备的。

Linux系统定时任务Crond

在Linux系统中,Cron是定时任务的软件名,Crond是服务的进程名,而crontab命令是用来设置定时任务规则的配置命令。

Cron定时任务分为两种:

1、用户定时任务计划

2、系统定时任务计划


Crond服务除了执行用户定时任务计划以外,还会周期性的自动执行和操作系统相关的定时任务工作,例如轮询系统日志,备份系统数据,清理系统缓存等,

crondtab的参数:

-l  list  查看定时任务内容

-e  edit    编辑定时任务内容

-i    删除定时任务内容,删除前会提示确定

-r  删除定时任务内容

-u    user   指定使用的用户执行任务

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

/etc/cron.deny   该文件中所列用户不允许使用crontab命令,

/etc/cron.allow  该文件中所列用户允许使用crontab命令,优先于/etc/cron.devy

/var/spool/cron/   所有用户的Cron配置文件默认都存放在此目录中,文件 名以用户名命名。

用户定时任务编写基本格式如下:

01  *   *  *    * cmd 

02  4   *  *  * cmd


用户定时任务编写语法中时间段的含义:

段                含义                      取值范围(整数)

第一段               代表分钟                  00~59(00也可以是0)

第二段                 代表小时                 00~23

第三段                 代表日(天)            01~31

第四段                代表月份                    01~12

第五段                  代表星期 (周几)           0~7(0和7都代表星期如)

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

取值范围记忆:正常日期时间范围。


用户定时任务中特殊符号的含义:

*    *号表示任意时间,实际上就是“每“的意思。

-    减号,表示分隔符,表示一个时间范围、区间段。

,    逗号,表示分隔时段的意思。

/n      n代表数字,即“每隔n单位时间”。


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

1、为定时任务规则加必要的注释。

2、所有的定时任务尽量都以脚本的形式执行。

3、在执行的Shell脚本前加上/bin/sh

4、定时任务中命令或脚本的结尾加>/dev/null2>&1

5、在指定用户下执行相关定时任务。

6、在生产任务计划程序中不要随意打印输出信息

7、定时任务执行的脚本要存放到规范路径下。

8、 配置定时任务要规范操作过程、减少出错。

9、定时任务脚本中程序命令及路径尽量用全路径。

10、时间变量%号要用反斜线转义。

11、若脚本中调用了系统环境变量,要重新定时。


调试Cron定时任务的技巧总结:

1、增大执行任务频率调试任务

2、调制系统时间调试任务(不能用于生产环境)

3、通过脚本日志输出调试定时任务

4、通过Crond定时任务服务日志调试定时任务

你可能感兴趣的:(2019-03-21day16预习笔记)