基于Linux的系统延时及定时任务

一、系统延时任务

1、利用at命令实现延时
at + time/now+min 任务在某时刻执行/任务从现在起几分钟后执行,利用ctrl+d结束设置
基于Linux的系统延时及定时任务
该指令为1分钟后创建file1-file10文件
基于Linux的系统延时及定时任务
该指令为,在05:03时创建file1文件
at -l----查看当前的延时任务
基于Linux的系统延时及定时任务
at -c +任务id-----查看延时任务的目的
基于Linux的系统延时及定时任务
基于Linux的系统延时及定时任务
该指令的目的时建立10个文件
at -r +延时任务id------删除该延时任务
基于Linux的系统延时及定时任务
观察发现,延时任务已经删除
2、at 命令的执行权力设定
/etc/at.deny ##用户黑名单,在此名单中出现的用户不能执行at命令
基于Linux的系统延时及定时任务
基于Linux的系统延时及定时任务
设定CQ用户不可使用at指令
基于Linux的系统延时及定时任务
/etc/at.allow ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效
基于Linux的系统延时及定时任务
创建白名单,并在其中添加用户
基于Linux的系统延时及定时任务
基于Linux的系统延时及定时任务
将CQ设置为白名单后,可以发现student用户及CQQ用户均不可以使用at指令。
值得注意的是,即使白名单内没有root用户,但是root用户仍可以使用at指令
基于Linux的系统延时及定时任务

二、定时任务

不同于延时任务,定时任务为永久有效
1、方式一
crontab -u username -e 编辑定时任务
基于Linux的系统延时及定时任务
在编辑定时任务前,先建立10个文件,以便观察定时任务是否生效
基于Linux的系统延时及定时任务
设置2分钟后删除Desktop下的所有文件
基于Linux的系统延时及定时任务
定时为2分钟,所以在整分之后的1秒删除所有文件
其中
|第一个* | 第几分钟 |范围是0-59
|第二个*|第几个小时|范围是0-23
| 第三个*|一个月中的第几天|范围是1-31
| 第四个*|第几个月|范围是1-12
| 第五个*|一周中的星期几|范围是0-7(0和7均代表周天)
crontab -u username -l 查看定时任务
基于Linux的系统延时及定时任务
crontab -u username -r删除定时任务
基于Linux的系统延时及定时任务