Linux中的计划任务之Crontab

在线课程:https://www.imooc.com/video/4499

读音:

crontab [krɔntæb] 以前读音错误。

linux [ˈlɪnəks] 以前读音错误。

status [ˈstetəs]以前读音错误。

一、应对需求

  • 每分钟执行一个程序检查系统运行状态
  • 每天凌晨需要对过去一天业务数据进行统计
  • 每个日期将日志文件备份
  • 每月需要把数据库备份

二、crontab介绍

Crontab是一个用于设置周期性被执行的任务的工具。

被周期性执行的任务称为CronJob

被周期性执行的任务列表称为CronTable

三、安装Crontab

安装:

检查cron状态:

四、基本组成

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

系统服务:crond 每分钟都会从配置文件中刷新定时任务,同时帮我们执行定时任务。

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

五、配置格式

每晚21:30重启Apache:

 

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

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

每隔两分钟(偶数分钟)重启Apache服务器

每隔两分钟(奇数分钟)重启Apache服务

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

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

总结:

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

六、crontab工具使用

七、Crontab 配置文件

计划任务既可以通过crontab工具进行编辑,也可以通过/etc/crontab配置进行配置编辑

配置文件路径:/etc/crontab

配置文件格式:

 

八、Crontab 日志

cron任务执行的日志信息:

九、常见错误-环境变量

用户bash的环境变量在crontab中通常都不存在。

十、常见错误-命令行操作

1、命令行双引号中使用%时,未加反斜线\

 

2、第三和第五个域质检存在“或”操作

原因:第三和第五个域,即日与周是“或”的关系,满足一个就会执行

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

59 1 1-7 4 0 /root

但是实际是:每月1号到7号每天都会执行,并且当星期日时也会执行,每月会执行10天

改正版:

59 1 1-7 4 * /root

十一、常见错误-分钟设置误用

1、两小时执行一次

0 */2 * * * date

十二、综合案例解析

赞 (0)
分享到:更多 ()

相关推荐

    暂无内容!

留言板 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址