Linux下的定时任务及延迟任务

一、延迟任务

系统延迟任务是系统任务将在规定的时间或者在一定时间之后才进行的任务设置,这种命令发起的任务都是一次性的。 一般发起延迟任务的命令是at

1、基本用法
at + 具体时间在某个具体时间执行延迟任务
at now + 时间从现在开始多长时间后执行延迟任务
at -l查看延迟任务
at -c job号查看任务的具体内容
at -r job号取消任务

在这里插入图片描述

2、系统延迟任务的黑白名单

系统中存在的用户是可以执行延迟任务的
在这里插入图片描述
建立用户延迟任务黑名单,黑名单为/etc/at.deny,在名单中写入用户wang
在这里插入图片描述
结果显示用户wang不能执行延迟任务
在这里插入图片描述建立用户的延迟任务白名单,白名单为/etc/at.allow,这个名单默认情况下是不存在的,一旦这个名单存在,系统中只有root用户以及白名单上的用户可以执行延迟任务。当白名单存在时,黑名单默认是失效的。
在白名单中写入用户wang,再次切换用户,结果显示用户wang可以执行延迟任务,用户dan不可以

3、系统延迟任务有输出的情况

当延迟任务有输出时输出会以邮件形式发送到任务发起者的邮箱中
在这里插入图片描述在这里插入图片描述在这里插入图片描述

二、定时任务

延迟任务at是一次性的,只执行一次,永久任务是存放在磁盘中的,永远都在。

设定方式1----命令方式

制定定时任务的工具为:crontab
服务的名称为:crontab.service

crontab -e编辑
crontab -u指定用户

当使用crontab制定定时任务时,时间的格式如下所示

fieldallow values
minute0-59
hour0-23
day of month1-31
month1-12(or names)
day of week0-7(0 or 7 is Sunday, or use name)

如下图所示,第一行表示:每分钟清空下/mnt
第二行表示:每隔5分钟清空下/mnt
第三行表示:8点到11点之间每隔五分钟清空下/mnt
第四行表示:每月的1号和15号的8点到11点之间每隔五分钟清空下/mnt
第五行表示:6月到10月的1号和15号的8点到11点之间每隔五分钟清空下/mnt
第六行表示:6月到10月的1号和15号以及6月到10月的每个星期六的8点到11点之间每隔五分钟清空下/mnt
在这里插入图片描述

crontab -l -u root查看root用户下的所有crontab
crontab -r -u root将root用户下的所有crontab全部删除

在这里插入图片描述

设定方式2----配置文件方式

进入配置文件所在的目录cd /etc/cron.d,查看目录中存在文件的写入格式,并且在这个目录中写入我们需要的定时任务即可
在这里插入图片描述查看目录中文件sysstat的格式
在这里插入图片描述在文件wang中写入定时任务
在这里插入图片描述

crontab黑名单设定

在文件/etc/cron.deny中设定黑名单用户wang
在这里插入图片描述

crontab白名单设定

和延迟任务白名单类似,定时任务白名单为/etc/cron.allow,在名单中写入用户wang。这个名单默认情况下是不存在的,一旦这个名单存在,系统中只有root用户以及白名单上的用户可以执行延迟任务。当白名单存在时,黑名单默认是失效的。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值