linux之系统定时任务及延迟任务

ssh连接后,使用watch -n1 ls -lR /mnt进行监控
在企业8环境下进行实验

延迟任务

1.延迟任务的发起

  • at 16:39
  • rm -fr /mnt/* 执行内容,[ctrl]+[d] 任务发起
    在这里插入图片描述
    在这里插入图片描述

2.at命令

命令作用
at -l查看任务队列
at -c查看任务内容
at -r取消任务
  • at -l
    在这里插入图片描述
  • 使用at -c 2命令的时候,要注意此时的所查看的任务内容一定要是还未发生过的
//任务2是16:43
[root@haha ~]# at 16:43
warning: commands will be executed using /bin/sh
at> rm -fr /mnt/*
at> <EOT>
job 2 at Mon Mar  2 16:43:00 2020

//任务3是16:44
[root@haha ~]# at 16:44
warning: commands will be executed using /bin/sh
at> rm -fr /mnt/*
at> <EOT>
job 3 at Mon Mar  2 16:44:00 2020
[root@haha ~]# 

//使用at命令尽行查看
[root@haha ~]# at -l
3	Mon Mar  2 16:44:00 2020 a root

//注意:此处因为时间已经在16:44了,任务2已经完成了,所以显示不能找到此任务
[root@haha ~]# at -c 2
Cannot find jobid 2

以下是在任务内容还没发生过,使用at -c 5进行查看
在这里插入图片描述

3.当延迟任务有输出,输出会以邮件形式发送到任务发起者邮箱中

  • 安装后要记得开启功能
  dnf install mailx postfix

 //开启功能
systemctl start postfix.service
systemctl enable postifx.service

在这里插入图片描述

  • mail root尝试发送一下邮件,如果显示未发送成功,就先确认下自己的功能是否打开了
    注意:" . "表示结束
命令作用
mail查看邮件
mail -u root查看root用户的邮件

在这里插入图片描述

  • 小练习
>/var/mail/root ##清空root邮件

timedatectl :此命令有输出但不会显示到字符设备中,此命令输出会用邮件发送给at发起人
在这里插入图片描述
timedatectl :此命令有输出但不会显示到字符设备中,此命令输出会用邮件发送给at发起人

4.at命令的控制

命令作用
/etc/at.denyat控制黑名单,此名单中的人不能执行at
/etc/at.allow此文件默认不存在

注意:

  • 当/etc/at.allow存在,则/etc/at.deny不生效
  • 当/etc/at.allow存在,系统普通用户默认不能执行at,只有在名单中的人可以

实践练习:
1.有关/etc/at.deny

  • 切换用户到westos和lee下,此时能完成
    在这里插入图片描述

  • vim /etc/at.deny将用户lee加入黑名单后,此时westos可以,lee就不可以了
    在这里插入图片描述
    2.有关/etc/at.allow

  • 在root用户下创建文件,切换到westos用户下,此时会发现被拒绝了
    在这里插入图片描述

  • 将lee写入白名单中,我们可以发现westos不可以执行,lee可以执行
    在这里插入图片描述
    我们可以发现此时lee既在白名单又在黑名单,说明了at.allow存在时,at.deny不生效
    在这里插入图片描述
    我们使用man 5 at.deny也可以发现
    在这里插入图片描述

定时任务

crond :定时任务服务
在这里插入图片描述
1.设定方式

1.1命令设定方式(用户级别定时任务

-u 表示指定发起用户 ,-e表示去编辑他的任务

命令作用
crontab -u root -e设定
crontab -u root -l查看
crontab -u root -r删除
/var/spool/cron/root任务存储位置

实践练习:
在这里插入图片描述
有关如何设置:

  • man 5 crontab查看
    在这里插入图片描述
  • 练习
时间任务
分钟 小时 天 月 周系统命令/脚本
08-17 * * * *每天每小时08分-17分
08-17 * * * 3,5每周3和 周五每小时08分-17分
08-17/2 * * 3,5每周3和周五每小时08分-17分时间段每隔2分钟
08-17/2 10 * * 3,5周3和周五10点08分-17分时间段每4隔2分钟
08-17/2 10 5 * 3,5每周3和周五及每月5号10点08分-17分时间段每隔2分钟
08-17/2 10 5 3 3,53月每周3和周五及3月5号10点08分-17分时间段每隔2分钟

1.2配置文件方式设定(系统级别cron,只有超级用户可操作

/etc/cron.d系统级别cron设定文件存放路径
/etc/cron.d/westoscron设定文件
/etc/cron.daily/每天任务
/etc/cron.hourly/每小时任务
/etc/cron.monthly/每月任务
/etc/cron.weekly/每周执行动作

在这里插入图片描述

  • vim /etc/cron.d/0hourly
    在这里插入图片描述

  • vim /etc/cron.d/westos
    在这里插入图片描述
    我们可以试验下,看看是否能达到每分钟删除一次
    20:30此时/mnt里面有创建好的5个文件,20:31此时文件都被删除了
    在这里插入图片描述
    在这里插入图片描述

  • 练习一个每小时执行的脚本
    别忘记给他一个权限

[root@haha cron.daily]# cd /etc/cron.hourly
[root@haha cron.hourly]# ls
0anacron
[root@haha cron.hourly]# vim clean_mnt
[root@haha cron.hourly]# chmod +x clean_mnt
[root@haha cron.hourly]# cat clean_mnt
rm -fr /mnt/*
[root@haha cron.hourly]# ls
0anacron  clean_mnt
[root@haha cron.hourly]# 

0anacron检测漏执行任务的工具

2.用户级别crond控制设定

命令作用
vim /etc/cron.denycron用户黑名单,用法同at.deny
vim /etc/cron.allowcron白名单,用法同at.allow
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值