一、系统延时任务
1.at命令
[root@localhost mnt]# at now+1min ##设定任务执行时间
at> rm -fr /mnt/file1 ##任务动作
at> <EOT> ##用ctrl+D发起任务
实例

centos定时执行命令_定时任务

at -l					##查看任务列表

centos定时执行命令_centos定时执行命令_02

at -c	任务号			##查看任务内容

centos定时执行命令_用户名_03


centos定时执行命令_白名单_04


at -r 任务号 ##取消任务执行

centos定时执行命令_定时任务_05

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

mail   -u   root	(也可以是其他用户)			   ##查看用户邮件

centos定时执行命令_用户名_06

mail的用法

2 ##查看第二封邮件
q ##退出mail

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

2.at创建延时任务的黑白名单

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

centos定时执行命令_白名单_07


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

二、系统定时任务
1.crontab 时间表示方式

*	*	*	*	*		##每分钟
*/2	*	*	*	*		##每隔两分钟
*/2	09-17	*	*	*	##每天的9点到17点,每隔两分钟
*/2	*/2	*	*	*		##每隔两小时,每两分钟
*/2	09-17	3,5	1	5	##1月的3号和5号,每周5,9点到17点每两分钟
*/2	09-17	*	*	5	##每周5的9点到17点,每隔两分钟

2.系统控制crontab的服务
crond.service ##当程序开启时定时任务生效

systemctl status crond.service

centos定时执行命令_白名单_08

3.crontab命令

crontab -e -u	用户名	##编写定时任务,文件保存在/var/spool/cron/用户名 下,不加-u 默认为命令行用户,本命令相当于编写/var/spool/cron/用户名文件,解决普通用户不能进入该目录的问题

centos定时执行命令_白名单_09

crontab -l -u	用户名	##查看指定用户文件内容

centos定时执行命令_centos定时执行命令_10


crontab -r -u 用户名 ##删除指定用户文件

centos定时执行命令_定时任务_11

4.文件方式设定定时任务
vim /etc/cron.d/file ##名字任意,本文件只能由root用户编写,不受黑白名单影响

格式:

执行时间  	     执行用户     	   任务动作
*/2 * * * *       root            rm -fr  /mnb/file3

5.crontab的黑白名单(和at的黑白名单用法类似)

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

##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起和执行

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

[root@localhost mnt]# vim /usr/lib/tmpfiles.d/redhat.conf	##名字自己设定

该文件的编写格式

d /mnt/westos	1777 root root 10s 	##10s内不能被清除

centos定时执行命令_白名单_12

[root@localhosttmpfiles.d]#systemd-tmpfiles--create/usr/lib/tmpfiles.d/redhat.conf     ##让该文件生效
[root@localhosttmpfiles.d]#systemd-tmpfiles--clean/usr/lib/tmpfiles.d/redhat.conf   ##清除已超过保护时间的命令