系统延时任务及定时任务

一、延时任务

(延迟任务是暂时的)

at命令
at 命令可以指定某一任务在将来的特定时间运行。

1、发起任务(指定时间)
at 20:51或者[at now+1min #(现在时间加一分钟后)] ##设置执行任务时间
touch file ##输入命令
##ctrl+D发起任务
在这里插入图片描述
2、基本命令
at -l ##列出延时任务(下图2为任务编号)
在这里插入图片描述
at -c 2 ##延时任务详细操作(2为上图任务号)
在这里插入图片描述
下图为任务详细操作
在这里插入图片描述
at -r 2 ##取消延时任务
在这里插入图片描述

3、用户延时任务黑名单
打开vim /etc/at.deny
在这里插入图片描述
添加用户student
在这里插入图片描述
测试:
切换为student用户
student创建延时任务失败
在这里插入图片描述
创建此文件时,只有添加进该文件的用户才能创建延时任务。当我们手动建立白名单时,黑名单就立刻失效,当用户同时出现在黑名单和白名单中时,生效的是白名单
vim /etc/at.allow
在这里插入图片描述

当任务有输出时,输出会以邮件的形式发送给at任务的发起者

echo hello ##输出hello
在这里插入图片描述
mail -u root ##查看超级用户邮件
mail #查看邮件
在这里插入图片描述
1 ##查看第一封邮件
在这里插入图片描述
q ##退出
在这里插入图片描述

> /var/spool/mail/root ##清空邮件
在这里插入图片描述

二、定时任务

cron 设备管理必须按计划定期重复运行的程序。后台程 crond每分钟唤醒一次 , 以运行计划的任何任务用户使用 crontab命令计划个人任务。系统管理员可以在系统范围配置文件中设置任务

1、crond.service ##当程序开启时定时任务生效
man 5 crontab   #帮助
crontab -e      #直接发起定时任务,以哪个用户身份登陆,就默认以哪个用户发起任务 
crontab -u student -e  ##指定student用户添加新定时任务 默认编辑器是vi
crontab   -u(指定用户)  student(所要指定的用户)  -e

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
crontab -u student -l ##列出查看指定用户的定时任务
在这里插入图片描述
crontab -u student -r ##删除文件(撤销任务)
在这里插入图片描述
cat /var/spool/cron/student # 所有用户crontab文件存放的目录,以用户名命名
在这里插入图片描述

用超级用户可以成功,普通用户根本不能发起定时任务

查看/mnt目录的权限时,发现/mnt目录对其它用户不可写
在这里插入图片描述
我们更改mnt目录权限,
在这里插入图片描述
再次发起定时任务。
在这里插入图片描述
定时内容
在这里插入图片描述
查看,任务成功。
在这里插入图片描述

2、编辑文件的含义:
分钟     小时    天    月   周
 *       *      *    *    *    touch  /mnt/file       # 每分钟 
 *    10-14     *    *    *    touch  /mnt/file       # 10-14点的每分钟
 *    10,14     *    *    *    touch  /mnt/file       # 10和14点的每分钟 
 */2  10-14     *    *    *    touch  /mnt/file       # 10-14点的每两分钟 
 */2  08-17   1,15   *    *    touch  /mnt/file       # 每月的第一和第十五天的8-17点的每两分钟 
 */2  08-17   1,15   *    3    touch  /mnt/           # 每月的第一和第十五天和每周三的8-17点的每两分钟 
 */2  08-17   1,15  3,5   3    touch  /mnt/file       # 每三和五月的第一和第十五天和每周三的8-17点的每两分钟
3、定时任务权限

黑名单存在时,黑名单里添加的用户定时任务不能发起。
黑名单:
vim /etc/cron.deny
在这里插入图片描述
白名单:
当白名单存在时,黑名单失效,若白名单存在且为空,则所有的用户将是黑名单
vim /etc/cron.allow
在这里插入图片描述
永久设定:
系统执行脚本:

[root@localhost Desktop]# ls /etc/cron  # 按tab键可显示出来,它们都是cron的调度配置文件
  cron.daily     cron.hourly    crontab      cron.d       cron.deny     cron.monthly    cron.weekly 
	cron.daily   是每天执行一次的任务
	cron.hourly  是每个小时执行一次的任务
	cron.d       是系统自动定期需要做的任务
	cron.deny    文件就是用于控制不让哪些用户使用crontab的功能
	cron.weekly  是每个星期执行一次的任务
	cron.monthly 是每月执行一次的任务  
	cron.weekly  是每个星期执行一次的任务

打开
vim /etc/cron.d/westos
在这里插入图片描述
写入:* * * * * root touch /mnt/file{1…3}
在这里插入图片描述
测试查看:
监控mnt目录:
在这里插入图片描述
成功:
在这里插入图片描述

注:做完实验记得清除所有的定时任务

在这里插入图片描述
在这里插入图片描述

三、控制系统中的临时文件

系统中服务在正常运行时会产生临时文件,在系统中 /usr/lib/tmpfiles.d/ 标实服务的临时文件存放位置
systemd-tmpfiles # 创建、删除和管理临时文件的服务
打开:
vim /usr/lib/tmpfiles.d/westos.conf
在这里插入图片描述
写入:
d /mnt/westos 777 root root 8s
在这里插入图片描述

   d           /mnt/westos       777           root root            8s
文件类型为目录    目录的位置      目录的权限      目录的用户和所在组   文件在目录存放的时间

执行:
systemd-tmpfiles --create /use/lib/tmpfiles.d/* ## 执行命令,创建上面脚本中的/mnt/westos
在这里插入图片描述
测试:
touch /mnt/westos/file{1…5} #新建file1~file5
在这里插入图片描述
如下图监控,已建成功。
在这里插入图片描述
清除临时文件
systemd-tmpfiles --clean /use/lib/tmpfiles.d/* # 清除在/mnt/westos里存在时间超过设定时间8s的文件
如下图,已经清除。
在这里插入图片描述

 rm -fr /usr/lib/tmpfiles.d/clean.conf   # 做完实验记得还原环境

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值