系统延迟任务及定时任务

系统延时任务

系统延时性任务是一次性的,是指在规定的某个时间去执行该任务,只执行一次
1.at命令设定延时任务

at   9:10	##设定动作执行时间为9:10分
	at> 动作内容	##任务内容
	at> ctrl+D	## ctrl+D发起任务
at -l ##查看任务列表
at -c 任务号	##查看指定任务号的内容
at -r 任务号	##取消任务
at nou+1imn(时间) ##对于任务发起的时间 延时1min执行任务

如果我们要在21:26在桌面上建立10个文件 但是现在的时间是21:24 我们可以用at命令去设定一个延时任务
在这里插入图片描述
at -l 可以查看当前系统的任务列表
在这里插入图片描述
查看指定任务信息
在这里插入图片描述
在这里插入图片描述
当到预定时间时我们可以发现桌面上自动建立了十个文件

在这里插入图片描述

注意:当任务在字符设备上有输出时,输出会以邮件的形式发送给at任务的发起者
2.邮件的查看:

mail -u root	##查看root用户的邮件
	1		##查看第一封邮件
	q		##退出
> /var/spool/mail/root ##清空邮件信息

现在我们来演示当任务有输出时 会给任务的发起者发送邮件这一情况 设定任务在21:36打印出hello 在时间未到时我们查看root用户邮件没有内容
在这里插入图片描述
当时间到了之后我们再次查看该用户的邮件信息 可以发现多了一个邮件 输入1查看邮件1的信息
在这里插入图片描述

在这里插入图片描述

3.at任务的黑白名单
/etc/at.deny ##黑名单
/etc/at.allow ##白名单
注意:当白名单存在时黑名单不会被读取,只有白名单里的用户可以使用at 命令;当两者都存在内容为空时,只有超级用户可以使用at命令。

系统中原本是不存在白名单的 如果想要使用白名单可以自己建立 touch /etc/at.allow(是一个文件)
在这里插入图片描述
将westos用户加入黑名单后 可以发现该用户不能使用at 命令 其他用户可以使用该命令
在这里插入图片描述
在这里插入图片描述
当建立了白名单 并在白名单加入westos用户 黑名单不再起作用 westos可以使用at命令

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

系统定时任务

1 .crontab时间表示方式
分钟 小时(24) 日 月 周

-----          --------------
minute         0-59
hour           0-23
day of month   1-31
month          1-12 (or names, see below)
day of week    0-7 (0 or 7 is Sunday, or use names)
'/' ##代表间隔

在这里插入图片描述
上述各行的解释:

  • 每分钟执行一次该命令
  • 每两分钟执行一次该命令
  • 从早上9点到下午5点每两分钟执行一次该命令
  • 每隔两小时 每两分钟执行一次该任务
  • 1月的3号和5号 以及1月的每周五 从早上9点到下午5点每两分钟执行一次该任务
  • 每周五从早上9点到下午5点每两分钟执行一次该任务

2.系统控制crontab的服务

 crond.service ##当程序开启时 定时任务生效
  systemctl  stop crond ##关闭定时任务

3.crontab命令的使用

crontab -e -u  用户名 ##执行该命令会在空白文件写入指定用户具体的定时任务
 crontab -l -u 用户名 ##查看指定用户的任务列表
crontab -r -u 用户名 ##删除指定用户的所有任务

写入指定用户root的具体定时任务 并查看root用户的定时任务

在这里插入图片描述
上述任务是每分钟执行一次清空root用户桌面上的文件命令 我们可以先在root用户桌面上建立十个文件 观察是否可以清空

在这里插入图片描述

观察到 当整点时(每分钟 以下一次整点为一分钟计算)清空了桌面上的文件
在这里插入图片描述
再次建立十个文件 取消该任务 发现整点后该文件并未删除
在这里插入图片描述

再次设定该任务但是关闭了crond服务 发现该任务并未执行

在这里插入图片描述
4.crontab的黑白名单
/etc/cron/deny
/etc/cron.allow
注意:类同at命令

在白名单不存在的情况下 添加到黑名单的用户不能执行该命令

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

  1. 文件方式设定定时任务

    vim /etc/cron.d/file(xxx)
    * * * * * 用户名 任务
    * * * * * root rm -fr /mnt/*

以文件的方式设定root用户的任务
在root用户桌面上建立三个文件 因为文件名始终是123 没有改变 所以每到整点 可以发现文件图标 闪动一次
在这里插入图片描述
为什么说是以文件的方式设定定时任务
可以看到如图存在每天执行任务的文件 每小时执行任务的文件等 在以文件的方式设定好定时任务之后 可以在相应的类型文件中找到该任务文件
在这里插入图片描述

系统中临时文件的管理方式

vim /usr/lib/tmpfiles.d/xxx.conf

d	     /xx/xx	   777	   root   root	 10s
文件类型  文件路径  文件权限  所有人 所有组	多长时间可以更改一次

systemd-tmpfiles  --create /usr/lib/tmpfiles.d/xxx.conf
systemd-tmpfiles  --clean /usr/lib/tmpfiles.d/xxx.conf

(1)vim /usr/lib/tmpfiles.d/westos.conf

配置新的临时文件 设置其类型为目录 路径为/mnt/westos 权限为777 用户组和用户为root 有效期10s(10s内不能清除)
在这里插入图片描述

(2)

watch -n 1 'ls -lR  /mnt/' ##监控该目录和该目录下的子目录 子文件
systemd-tmpfiles  --create /usr/lib/tmpfiles.d/westos.conf ##创建满权限目录
systemd-tmpfiles  --clean /usr/lib/tmpfiles.d/westos.conf

监控 并创建不存在的目录/mnt/westos

在这里插入图片描述

在目录下建立文件 发现当没有到设定时间不能清除该文件

在这里插入图片描述

10s过后再次清除该文件发现可以清除(为了查看清除效果 不使用rm命令 rm命令可以删除任意 不到时间也可以删除)
在这里插入图片描述
临时文件具有生命周期 只有到了设定的时间才可以删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值