linux中的定时,延时任务

定时任务,延时任务

1.系统延时任务##

[root@localhost ~]# at 23:37		##设定任务执行时间
at> rm -fr /mnt/*			##任务动作	
at> <EOT>    <<  CTRL +D		##用ctrl+D发起任务,命令输入完成后,回车,后直接 ctrl+d 来发起任务

在这里插入图片描述
执行后
在这里插入图片描述

[root@localhost ~]# at now+1min		##延时1分钟
at> rm -fr /mnt/*
at> <EOT>

在这里插入图片描述

at -l					##查看任务列表
at -c	任务号				##查看任务内容
at -r	任务号				##取消任务执行

在这里插入图片描述
当取消了任务4后,时间已经到了,但并没有执行,因为已经取消了任务执行
注意:上图第一行命令没有加时间单位,所以不能执行,大家要注意单位
注意:
当任务有输出时,输出会以邮件的型是发送给at任务的发起者

mail -u root		##查看超级用户邮件
1			##查看第一封邮件
q			##退出
	

> /var/spool/mail/root	##清空邮件

在这里插入图片描述
查看第一封
在这里插入图片描述

2.at任务的黑白名单###

/etc/at.deny		##系统中默认存在,在此文件中出现的用户不能执行at

在这里插入图片描述
在黑名单中添加后,此用户便不能执行at命令,不在名单中的用户可执行
在这里插入图片描述
切换到westos用户尝试
在这里插入图片描述

/etc/at.allow		##系统中默认不存在,当文件出现,普通用户不能执行at
					##只有在名单中的用户可以,并且/etc/at.deny失效

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

出现在白名单的student用户可以执行
在这里插入图片描述
不在白名单的用户不能执行

注意:如果黑白名单同时出现,只读取白名单,黑名单失效,即如果黑白名单同时出现一个用户,那么,这个用户可是执行定时任务

###########3.系统定时任务###
1.crontab 时间表示方式

* * * * *       		##每分钟
*/2 * * * *			##每两分钟
*/2 09-17 * * *			##早7-晚5每两分钟
*/2 */2 * * *			##每隔2小时每两分钟
*/2 09-17 3 5 5		#在5月3号和五月地周5的9点,17点每隔两分钟
*/2 09-17 * * 5			##每周周五早9晚5

注意:星期几属于月份,若指定了月份,即为这个月的周几

2.系统控制crontab的服务

crond.service			##当程序开启时定时任务生效

3.crontab

crontab -e -u username		-e表示编辑  
crontab -l -u username		查看任务
crontab -r -u username		删除任务

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

创建定时任务后,会在/var/spool/cron/下创建一个,以用户名命名的文件,定时任务就写在这个文件里

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

vim /etc/cron.d/file

* * * * *   username	action
* * * * *   root	rm -fr /mnt/*

##如果操作较多可指定一个目录

* * * * * root run-parts /westos   此处/westos为自行指定用户

在这里插入图片描述

cd /westos 在westos下

建立要进行操作的脚本,
例:

vim test.sh 

#!/bin/bash
* * * * * root rm -fr /mnt/*

在这里插入图片描述

chmod +x test.sh      ##要加执行权限,否则不能运行

在这里插入图片描述

5.crontab的黑白名单

/etc/cron.deny		##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow		##系统中默认不存在,当文件出现,普通用户不能执行crontab        
					##只有在名单中的用户可以,并且/etc/at.deny失效
					##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

在这里插入图片描述
在这里插入图片描述
Student用户被禁止所以不能使用,没出现在黑名单的用户可以使用
在这里插入图片描述
在这里插入图片描述

##在被禁止的用户下不能进行 crontab -e 操作,但在root下进行 crontab -e -u username(被禁止的用户名) 操作,可以执行,因为这是root指定student去完成的操作

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

cd /usr/lib/tmpfiles.d/
vim westos.conf
d   /mnt/westos    777 root root 8s

此操作是让一个目录中的文件在生命期内无法被删除,过了生命期后才可被删除
操作图如下

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*	
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

在这里插入图片描述
编辑临时文件管理配置,生命期为10s
在这里插入图片描述
在生命期内,文件无法被删除
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zhaoliang_Guo/article/details/90025028
今日推荐