【Linux】定时任务调度

目录

任务定时调度定义:

1、crontab:

2、ps -ef:

3、at:


任务定时调度定义:

在Linux系统中,后台会执行一个crond程序,这个程序可以通过设定时间来让系统定时调用某个命令、脚本。任务调度可以是系统中一些重要任务的调用,也可以是用户自己设定的一些定时任务的调用。

1、crontab:

这个指令用于设定定时任务。它的基本语法是:

crontab  [选项]

常用选项有:

-r:删除当前用户所有定时任务

-e:编辑增加用户的定时任务

-l:查询定时任务

在设定定时任务的时间时,我们通过设定这五个星:* * * * *

  • 第一个星表示:一个小时里面的哪一分钟(0~59)
  • 第二个星表示:一天中哪一个小时(0~23)
  • 第三个星表示;一个月中哪一天(1~31)
  • 第四个星表示:一年中第哪个月(1~12)
  • 第五个星表示:一周中星期几(0(7)~6)

不需要修改的地方保留星号,修改的方式有以下几种:

* -- 这个默认符号表示当前的每个单位时间都执行,例如第五个位是星就表示一周内每天都执行一次、第二个位是星表示一天内每个小时都执行一遍。

x-y -- 这个符号表示从x-y的时间内连续执行。例如 * 23 * 2-8 * 表示一年中第2个月到第8个月每个月的23时都执行一遍。

x , y.. -- 这个符号表示在x,y...的间断时间内执行一遍。例如 * 8, 11 , 15 * * * 表示一天中8点、11点、15点执行一遍。

*\x -- 这个符号表示每个x单位时间就会执行一遍任务。例如 * * * *\5 *表示每隔5个月执行一遍

2、ps -ef:

这个指令是用于查看当前正在运行的所有进程,它的用法就是直接输入命令:

ps -ef

即可。要是我们想要查看某一个特定的进程,我们可以利用管道加grep指令。例如查看atd进程:

ps -ef | grep atd

3、at:

相对于crontab指令的反复调度,我们还需一种调用只执行一次的方式。所以我们引入了at指令。at指令有一个相对应的atd后台程序。这个程序的存在可以理解为就是对我们设置的任务(作业)的管理程序。它每60s就会对作业进行一次扫描,查看哪些作业需要执行,如果有作业执行了就会被移出去,然后反复扫描。这里要想配置定时任务,需要我们确保atd程序已经开启,所有我们一般先查看有无开启atd程序再去设置命令。

at   [选项]   [时间]

上面是at指令的形式,我们再来看看时间配置:

时间配置有很多种方法,这里我列举两个:

1、直接年月日时间:这里日期要跟着时间后面,如21:16  15/6/2022、21:16  25-6-2022

2、叠加:now + 5 minutes、now + 10 hours、now + 20 weeks

当我们输入完指令后,输入Ctrl+D两次表示退出,再输入atq即可查看当前作业。

删除作业则需要操作atrm+编号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值