一、定时任务和延迟任务概述

通俗的讲,定时任务和延迟任务就好比一个闹钟。

定时任务: 定时任务就是我们定的闹钟,一到固定时间闹钟就会执行相应动作。

延迟任务: 延迟任务就是一个慵懒的人,闹钟响后不想起,所以定一个延迟的任务。

注意:定时是永久的,而延迟是一次性的

二、利用at命令设置定时任务和延迟任务

1. at相关命令如下所示:

at + 时间 设定任务执行时间
at -l 查看任务列表
at -c 任务号 查看任务内容
at -r 任务号 取消任务执行
at now+1min 延迟一分钟
ctrl+D 发起任务

2. 实验监控

watch -n 1 ls -l

3. at任务的定时与延迟

  1. 当时间没有到指定的时间时,任务不执行,监控处没有任务,如下图所示:
  2. 当时间到指定时间时,任务执行,并进行监控,如下图所示:
  3. 任务的查看与删除,如下图所示:


    注意:当任务执行过后不可以再查看任务列表,此时的任务列表为空,如下图所示:

    注意:当任务有输出时,输出会以邮件的形式发送给at任务的发起者,如下所示:

三、at命令的黑白名单

at任务的黑名单

  1. 当我们不设定黑名单时,切换用户为student时,发现student可以执行at命令,如下图所示:
  2. 设定黑名单,如下所示:

  3. 当我们切换到student用户是,报错不允许使用at定时,实验结果如下:

at任务白名单

  1. 设定at任务白名单,如下图所示:

  2. 当我们设置白名单以后,只有在白名单里的人才会设定at任务,如下图所示:

当黑白名单都存在时,如下图所示:
由上图可知黑白名单都有student用户时,student可以执行at命令

注意:当白名单存在时,黑名单不生效

四、系统定时任务crontab

1. 首先要开启控制crontab的服务,只有crontab当服务开启,任务才会生效

2. 用man 命令查看crontab的时间表示方式如下所示:

每个*代表的含义如下:

* * * * *

常用的基本时间表示方式如下所示:

* * * * * 每分钟
*/2 * * * * 每两分钟
*/2 09-17 * * * 早7晚5每两分钟
*/2 */2 * * * 每隔2小时每两分钟
*/2 09-17 3,5 1 5 1月的3号和5号,每周5,朝9晚5,每隔2分钟
*/2 09-17 * * 5 每周周五早9晚5

注意:
(1) " /" 表示每隔多久
(2) “,” 表示几和几
(3) “-” 表示从到什么到什么

3. crontab命令

crontab -u root -e 编辑定时任务
crontab -u root -l 查看root用户下的定时任务列表
crontab -u root -r 取消定时任务



配置文件记录着此定时任务,当删除定时任务后,配置文件也自动删除,如下所示:

4. 文件方式设置定时任务

<1> 查看文件该配置文件中包含的基本信息

<2> 具体实验如下:


在test.sh文件中写入以下内容:

给脚本可执行权限,发现建立了3个文件,如下所示:

上下文件进行对比,发现时间更新,如下图所示:

五、crontab的黑白名单

crontab任务的黑名单

  1. 当我们不设定黑名单时,切换用户为student时,发现student可以执行crontab命令,如下图所示:
  2. 设定黑名单,如下所示:

  3. 当我们切换到student用户是,报错不允许使用crontab定时,实验结果如下:

    crontab任务的白名单

    当黑白名单都存在时,如下图所示:

    注意: crontab定时和at定时一样,当黑白名单都存在时,黑名单不生效

六、系统中临时文件的管理

1 . 生命周期的作用:

由于系统中正在使用的临时文件不能被删除,所以我们需要给文件设定一个周期,当文件的时间超过这个周期,就可以被清理掉。此时这个周期我们将它称之为生命周期。
2. 具体实验如下:
<1> 对实验进行命令监控,如下所示:

<2> 编辑配置文件,如下所示:


<3> 创建文件,并在目录中建立文件,如下图所示:


<4> 清理目录下的文件,如下图所示:

此时发现文件并没有被清理,因为文件在生命周期以内,所以不能被清理,当文件的时间超生命周期以后发现文件被清理,如下图所示:

如上图所示,此时文件已被清理

linux下的定时任务和延迟任务相关推荐

  1. linux环境下添加定时任务,linux下添加定时任务。

    这周要做一个定时增量更新Elasticsearch索引的功能,以前没有做过定时更新,所以请教了下同事,使用crontab添加linux下的定时任务. 一.linux下定时执行任务的方法 在linux中 ...

  2. linux 如何定时任务添加,linux下添加定时任务。

    这周要做一个定时增量更新Elasticsearch索引的功能,以前没有做过定时更新,所以请教了下同事,使用crontab添加linux下的定时任务. 一.linux下定时执行任务的方法 在linux中 ...

  3. linux创建定时任务命令,linux下添加定时任务

    linux下添加定时任务 linux下添加定时任务 ### linux下定时执行任务的方法 在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /cle ...

  4. linux下设置定时任务,linux下定时任务设置

    任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便 ...

  5. linux 下设置定时任务

    Linux Crontab 定时任务 命令详解 在工作中需要数据库在每天零点自动备份所以需要建立一个定时任务.我选择在Linux下使用Crontab来添加定时任务执行shell文件.shell文件有数 ...

  6. linux下cron定时任务的总结

    cron是linux系统下一个自动执行指定任务的程序,即包含"时间"."路径"."自动执行脚本"等要素 当我们要增加全局性的计划任务时,一种 ...

  7. linux如何编写crontab定时脚本,linux下编写定时任务crontab

    linux下的crontab服务: 1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用 在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现. 以某一频率执行任务 li ...

  8. Part2.4——Linux下的定时任务与延时任务

    目录 一.系统延时任务 1.at命令 2.at任务的黑白名单 (1)为什么要设置任务的黑白名单? (2)黑名单 (3)白名单 二.系统定时任务 1.crontab时间表示方式<分 时 天 月 周 ...

  9. Linux下的定时任务和延时任务

    系统定时任务及延时任务 延时任务是临时的 服务器的维护是在服务器用户最少的时候进行运维,因此需要设置定时任务,通过编写脚本自动在设定的时间内进行运维 [1]设定延时任务 开启监控: watch -n ...

最新文章

  1. XenDesktop5.0 Add Host使用vSphere5.1客户端注意事项
  2. Springboot-importSelector
  3. 开发测试矛盾java吧_不愿看到Java开发者再做的10件事
  4. python seo 外链_百度链接提交-主动推送程序Python版
  5. Mac打包生成加密dmg
  6. pix4d计算机配置速度,实测大疆智图(DJI Terra)与Pix4D,Smart3D正射三维成果对比...
  7. webpack搭建react脚手架
  8. HP如何装linux系统启动顺序,linux几种系统的启动顺序
  9. 线性代数08 矩阵的相似与矩阵的幂(相似对角化)
  10. 红米Note3全网通开发版(MIUI10 8.11.22 安卓6)获取完整root权限
  11. js 数组entries迭代方法
  12. 修改linux xorg端口,Xorg服务开启tcp/ip监听,允许其它机器客户端连接
  13. 软件测试学习网站有哪些?
  14. 谷歌注册手机无法验证解决办法2023亲测有效非常迅速
  15. (二)R语言数据结构——Vector, Matrix, List
  16. 音视频传输-之RTP/RTCP协议
  17. CPaintDC 、CWindowDC、 CClientDC、 CDC的区别与联系
  18. 图像分割之最大熵阈值分割
  19. Blktrace原理简介及使用
  20. Activity生命周期和调用时机

热门文章

  1. DISCUZ学习笔记01---discuz集成环境的搭建
  2. 随想录(被低估的gccg++)
  3. jsp简介mysql_jsp+servlet+mysql简单实现用户登陆注册
  4. java反序列化时区,Jackson使用Java 8将Elasticsearch反序列化为LocalDateTime
  5. OSPF中的次优外部路由——Forwarding Address
  6. VMware vSphere 入门学习笔记
  7. 利用组策略管理器映射网络驱动器的方法
  8. 安装mysql的一些小问题
  9. python程序编译成exe格式
  10. python学习笔记(二)之列表