Part2.4——Linux下的定时任务与延时任务
目录
一、系统延时任务
1、at命令
(1)为什么要设置任务的黑白名单?
(2)黑名单
(3)白名单
二、系统定时任务
1、时间表示方式
2、系统控制的服务
3、用法(用户级定时任务)
用户级定时任务:
4、的黑白名单(用法同at一样)
(1)黑名单
(2)白名单
5、系统级别的任务
三、处理定时任务的输出
四、系统中临时文件的管理方式
具体操作步骤如下:
第一步:编写临时文件管理命令
第二步:命令创建上述任务
第三步:命令根据上述任务清理临时文件
第四步:将清理临时文件的命令创建为系统级任务
四、本章总结
一、系统延时任务 1、at命令
at命令的两种执行方式:
at 11:11
设定任务执行时间
at now+1min
设定任务1分钟后执行
命令参数:
at -l
查看任务列表
at -c 任务号
查看任务内容
at -r 任务号
取消任务执行
2、at任务的黑白名单
核心文件:和
(1)为什么要设置任务的黑白名单?
答:因为要限制某些普通用户不能执行延迟任务,所以要将其分为黑白名单。
(2)黑名单
at.deny> #系统中默认存在,此文件中出现的用户不能执行at命令
(3)白名单
at.allow> #系统中默认不存在,当文件被创建后,普通用户不能再执行at命令,只有在此文件中出现的用户才能执行at命令,并且失效。
二、系统定时任务
在规定时间点对任务进行执行
1、时间表示方式
* * * * *
每分钟
*/2 * * * *
每两分钟
*/2 09-17 * * *
早9点-晚17点的每两分钟
*/2 */2 * * *
每隔两小时每两分钟
*/2 09-17 3,5 1 5
一月的3号5号和每周五的早9晚5的每两分钟
*/2 09-17 * * 5
每周五的早9晚5的每两分钟
2、系统控制的服务
systemctl status crond.service #查看定时任务的服务状态
3、用法(用户级定时任务) 用户级定时任务:
指定用户 参数
crontab -u root -e #编辑定时任务
crontab -u root -l #查看任务列表
crontab -u root -r #移除定时任务
第一步:编辑定时任务
执行命令进入编辑模式,编辑定时任务。表示每分钟删除一次/mnt/*的文件。
编辑完成后,系统会把这个任务保存在中。
第二步:查看定时任务
方法一:cat /var/spool/cron/root
方法二: -l
第三步:删除定时任务
crontab -u root -r #删除超级用户所有的定时任务
这个命令其实删除的就是中的文件。
注意:的定时任务是在“crond.”服务开启的情况下才会执行,服务没有开启,不会执行定时任务
4、的黑白名单(用法同at一样)
核心文件:和
(1)黑名单
cron.deny> #系统中默认存在,此文件中出现的用户不能执行命令
(2)白名单
cron.allow> #系统中默认不存在,当文件被创建后,普通用户不能再执行命令,只有在此文件中用户才能执行命令,且失效。
5、系统级别的任务
核心目录:
vim /etc/cron.d/westos #创建系统级定时任务
无论黑名单还是白名单,都不会影响目录下定时任务的发起及执行。凡是在此目录下的文件中的定时任务都会自动执行。
因为这是一个存放系统级别任务的目录,拥有最高权限,不会受黑白名单的影响。在这个目录下编辑文件,内容为,表示指定时间下用户执行创建文件的任务。这里与之前创建任务不同的地方是,这里必须指定用户。
注意:在下存在很多文件,在添加“cron.allow”或“cron.deny”文件后,只是限定了指定用户创建新的定时任务的权力,这些用户已经创建好的任务不会受到影响。
三、处理定时任务的输出
一些at命名或命令会有输出的,这些输出将以邮件的方式发送给超级用户
~~~~~~~~~~未完待续~~~~~~~~~~~
四、系统中临时文件的管理方式
临时文件管理的配置文件:在写入以下命令:
d /mnt/westos 1777 root root 10s
类型 文件文件名称 权限 所有人 所有组 生命周期
具体操作步骤如下:
系统中的临时文件存放目录为,可以看到目录下存在很多文件,这些文件就是系统运行过程中产生的临时文件。
第一步:编写临时文件管理命令
首先在目录下创建文件,文件内容表示“d 目录 权限 所有人 所有组 存在周期”。(为了方便测试,文件周期设置的为10s)
第二步:命令创建上述任务
要对这个文件中的内容生效,需要创建守护进程命令。
systemctl-tmpfiles --create /lib/tmpfiles.d/westos.conf
#对刚才编写的管理任务的配置文件创建守护进程,令其生效
执行完创建守护进程命令后,会在下出现下图所示文件
第三步:命令根据上述任务清理临时文件
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf
#按照配置文件中的内容进行清理
先创建了一个文件“”,然后执行清理命令,但是文件周期不足10秒,所以不会被清理;接着再建立一个文件“”,再次执行清理命令,会看到文件周期超过10 秒的“”被清除了,而文件周期没有超过10 秒的“”没有被清除。
第四步:将清理临时文件的命令创建为系统级任务
将清理临时文件的守护进程命令写成一个,让其每小时过1分钟执行一次。
四、本章总结
1、定时任务只有在“crond.”服务开启的时候才会执行,服务关闭后所有定时任务失效。
2、的黑白名单只会影响普通用户,对超级用户和系统级任务没有影响。
3、在下存在很多文件,在添加“cron.allow”或“cron.deny”文件后,只是限定了指定用户创建新的定时任务的权力,这些用户已经创建好的任务不会受到影响。
4、创建简单的清理系统临时文件的步骤: