7、Linux-Crond定时任务调度

一、crontab概述

  • 任务调度指的是系统定时的调用命令或程序。
  • crontab 选项进行定时任务的设置 [ 例:crontab -e:编辑“crontab"定时任务] {使用该指令之后,会打开一个任务调度文件,我们需要在调度文件中填写相关指令}
  • crontab选项说明:
    (1)、-e:编辑”crontab“定时任务
    (2)、-l:查询正在执行的”crontab“任务
    (3)、-r:删除当前用户的所有”crontab"任务
  • */1 * * * * ls -l /etc/ > /tmp/test.txt调度文件内容示例 [ 该指令表示:每分钟执行一次ls -l /etc/ > /tmp/test.txt] {关于ls -l /etc/ > /tmp/test.txt:是将“etc”显示的内容重定向到“test.txt"中}
  • 时间参数详细说明:
    (1)、第一个”*“:表示按分钟定时(范围:0-59)
    (2)、第二个”*“:表示按小时定时(范围:0-23)
    (3)、第三个”*“:表示按天来定时(范围:1-31)
    (4)、第四个”*“:表示按月来定时(范围:1-12)
    (5)、第五个”*“:表示按周来定时(范围:0-7)
    (6)、,:表示不连续的时间 [ 例:0 8,12,16 * * *:表示在8点整、12点整、16点整都执行一次定时任务] {由于第一个位置的’ * ‘表示分钟,所以是0分,而第二个位置的’ * '表示小时,所以是8点、12点、16点。值得注意的是逗号后面不需要空格}
    (7)、-:表示连续的时间范围 [ 例:0 12 * * 1-6:表示周1到周6的12点整执行一次定时任务 ] {参照第(6)条相信大家已经可以理解这条时间描述了}
    (8)、*/n:表示间隔多久时间执行一次 [ 例:*/10 * * * *:表示每十分钟执行一次定时任务 ] {有同学问要是我想每隔8天执行一次怎么写?* * */8 * *就是这样啦}
  • 如果你想更好的理解时间表示,可以看看下面的示例:
    (1)、45 22 * * *:在22:45执行定时任务
    (2)、0 17 * * 1:在每周1的17:00执行定时任务
    (3)、0 5 1,15 * *:在每月1号和15号的5:00执行定时任务
    (4)、40 4 * * 1-5:在每周1到周5的4:40执行定时任务
    (5)、*/10 4 * * * :每天4:00开始每隔10分钟执行定时任务
    (6)、0 0 1,15 * 1:每周1和每月1号和每月15号的0:00执行定时任务

二、at 一次性定时任务

  • at是一次性定时任务,只执行一次后续不再执行
  • 在使用at命令的时候,要保证atd进程是启动的。使用:ps -ef | grep atd指令可查看atd进程是否运行
  • atd原理:每60秒检查一次作业队列,有作业时检查其运行时间,如果时间于当前时间匹配则允许作业
  • at 选项 时间定时执行任务 [ 例:at -m ]
  • at选项介绍:
    (1)、-m:当指定的任务完成后,将发送邮件给用户
    (2)、-I:atq别名
    (3)、-d:atrm的别名
    (4)、-v:显示任务将被执行的时间
    (5)、-c:打印任务的内容到标准输出
    (6)、-V:显示版本信息
    (7)、-q<队列>:使用指定的队列
    (8)、-f<文件>:从指定文件读入任务
    (9)、-t<时间参数>:以时间参数的形式提交要允许的任务
  • at指定时间的方法:
    (1)、hh::mm(小时:分钟) [ 如果时间过去,则会在第二天这个时间点执行 ]
    (2)、可以使用midnight(深夜)noon(中午)teatime(饮茶时间)这些比较模糊的词语指定时间
    (3)、12pm || 3am:12小时制指定“pm”和“am”表示下午和上午
    (4)、04:00 2025.03.11:表示“2025年3月11号早上4:00
    (5)、now + 5 minutes:表示五分钟后执行一次,担任单位也可以换成小时,天等。
    (6)、直接使用todaytomorrow指定时间
  • at使用示例:
    (1)、at 5pm + 2 days :2天后下午5点执行定时任务 [ 输入指令后回车,然后可以继续输入定时任务内容,ls /home:2天后下午5点执行此指令] {我们要记得,当你输入完任务内容时需要按快捷键ctrl +d来结束输入。}
    (2)、at now + 2minutes:两分钟后执行任务
  • atq查看系统的工作任务
  • atrm 编号删除定时任务 [ 例:atrm 5:删除编号为5的定时任务 ] {编号可以通过atq查看}
  • 28
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值