黑马程序员技术交流社区

标题: 【长沙校区】Linux下定时任务的实现 [打印本页]

作者: 长沙-小知姐姐    时间: 2019-1-2 11:32
标题: 【长沙校区】Linux下定时任务的实现
本帖最后由 长沙-小知姐姐 于 2019-1-3 09:23 编辑


Java , 前端全网资源链接 : 【长沙校区】集合Java,前端所有基础入门,重点问题一览帖


Cron是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos linux操作系统之后,默认便会启动Cron任务调度服务。

Cron服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作,如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作,这个Cron定时任务服务就相当于我们平时早起使用的闹钟一样。

Linux中内置的cron进程能帮我们实现很多需求,cron搭配shell脚本,即使是非常复杂的任务也没有问题。

Cron介绍

我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。各个配置文件的作用如下:

1. /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名。

2. /etc/crontab 这个文件负责调度各种管理和维护任务。

3. /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。

定时任务的配置方式

我们可以把脚本在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。具体用法如下:

1. crontab的常用的命令如下:


2. crontab命令的操作符如下:


我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。crontab的命令构成为时间+动作,其时间有分、时、日、月、周五种,操作符有


常用的定时任务实例


由于cron表达式的编写比较困难,所以笔者给大家提供了一些常用的定时任务实例,在实际工作中,如果遇到类似的场景,可以作为参考


定时任务的实际应用场景


1. 需要对服务器上的MySQL、Oracle等数据库在服务低峰期进行定时数据备份;

2. 由于服务器运行的程序产生的日志通常都比较大,时间长了会造成服务器硬盘空间不足,所以需要定时清理日志信息;

3. 对于服务器严重的报错事件可以通过定时任务给相关负责人发送邮件、短信等报警信息,以便相关人员能及时对问题进行处理;

4. 对长时间运行的程序可以配置定时重启,以释放内存。

定时任务使用总结

1. 在使用定时任务执行linux操作的时候,难点在于cron表达式的书写,需要大家对表达式中的每个值的含义都非常清楚才可以;


2. 定时任务在每个公司的使用一般都不会相同,而且对服务器的操作通常都比较敏感,大家在操作的过程中要跟运维同事做好沟通,以免发生生产事故。


作者: 一个人一座城0.0    时间: 2019-1-30 09:01
看一看。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2