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

1.系统延迟任务设定

(1)延迟任务的发起
延迟就是现在不执行,稍后再执行(延迟任务是一次性的)

 at 11:36
 > rm -fr /mnt/*		 ##执行内容
 >[ctrl]+[d] 			##任务发起(键盘按键)
at -l             	##查看任务队列
at -c 任务号      	##查看任务内容 
at -r 任务号    		##取消任务

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

dnf install mailx -y ##安装邮箱软件包

在这里插入图片描述

dnf install postfix -y		##安装邮件服务程序
systemctl start postfix 
systemctl enable postifx

在这里插入图片描述

mail -u root      	##查看root用户的邮件 
No mail for root 	##root用户没有邮件
> /var/mail/root	##清空root邮件
at 15:00
timedatectl ##此命令有输出但不会显示到字符设备中 
 			##此命令输出会用邮件发送给at发起人

在这里插入图片描述

[root@rhel8_node1 ~]# mail -u root 
 Heirloom Mail version 12.5 7/5/10.  Type ? for help.
  "/var/mail/root": 1 message 1 new 
 >N  1 root                  Tue Feb 25 15:00  20/818  "Output from your job " 	##at输出邮件 
 & 1			 	##输入邮件编号查看 
 &q 				##退出

在这里插入图片描述

2.系统延迟任务的黑白名单设定

系统当中默认的用户都可以执行 at 命令,对于某些用户不能使用 at 命令,可以进行黑白名单设定
在这里插入图片描述
/etc/at.deny ##用户延迟任务的黑名单文件
在这个文件里面写入某个用户名,这个用户名就不可以执行at命令了,将tom用户写入此文件中,tom便不可以执行at命令,其它用户可以执行at命令
在这里插入图片描述
在这里插入图片描述
/etc/at.allow ##用户延迟任务的白名单文件
这个文件默认是不存在的,但是这个文件一旦存在,那么系统中除了超级用户以外的其他普通用户都将被禁止使用at命令,当这个文件出现以后,黑名单文件将不再去受系统的检测,也就是说,黑名单里面的内容失效了。
在这个文件里面写入哪个用户,哪个用户就可以执行at命令,将tom用户写入此文件中,tom便可以执行at命令,其它用户不可以执行at命令,超级用户不受影响
在这里插入图片描述
在这里插入图片描述

3.用户级系统级定时任务

定时任务是记录在硬盘里面的信息
crond.service ##定时任务服务
(1)crond设定方式
a.命令方式设定: ##用户级别定时任务
crontab -u root -e ##设定
crontab -u root -l ##查看
crontab -u root -r ##删除
/var/spool/cron/root ##任务存储位置
设定定时任务为:在2月25日(星期二)的15:35时刻清空/mnt/目录下的所有内容
所设定的内容,存储的位置在/var/spool/cron/root,哪个用户设定的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,5 		##3月每周3和周五及3月5号10点08分-17分时间段每隔2分钟

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

/etc/cron.d 				##系统级别cron设定文件存放路径 
vim /etc/cron.d/westos 		##cron设定文件
   时间        		用户 			动作
  * * * * *	 	root 		rm -fr /mnt/*

下图:是实验每隔1分钟清空/mnt/目录里面的内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 /etc/cron.daily/ 			##每天任务
 /etc/cron.hourly/ 			##每小时任务
 /etc/cron.monthly/ 		##每月任务 
 /etc/cron.weekly/ 			##每周执行动作

在这里插入图片描述
只要脚本出现在cron.hourly目录中,它就会每小时去做脚本里面的内容(其它类似,每天、每月、每周)
必须给脚本一个可执行权限
0anacron脚本是用来检测crontab是否有漏执行任务的一个工具
在这里插入图片描述
(2)用户级别crond控制设定
vim /etc/cron.deny ##cron用户黑名单,用法同at.deny
vim /etc/cron.allow ##cron用户白名单,用法同at.allow

发布了23 篇原创文章 · 获赞 0 · 访问量 2483

猜你喜欢

转载自blog.csdn.net/weixin_45792518/article/details/104499181