一、系统延时任务
1、at命令
at + 时间 | 设定任务执行时间 |
---|---|
at -l | 查看任务列表 |
at -c 任务号 | 查看任务内容 |
at -r 任务号 | 取消任务 |
at now+1min | 延时一分钟执行 |
ctrl + D | 发起任务 |
为了更好的观察实验,我们使用watch命令来进行监视
设置在02:11建立文件1-7,ctrl+D发起任务
结果显示在02:11建立了文件file1-7
查看任务列表:
at -l
查看任务内容:
at -c 任务号
删除任务:
at -r 任务号
删除任务号为3的任务,再次查看任务,发现任务号为3的任务被删除,只剩下任务号为4的任务。
2、at任务的黑名单和白名单
系统中默认存在黑名单,白名单默认不存在,但是当白名单存在时,则黑名单失效。
在将用户lee加入黑名单之前:
可以执行at命令,编辑/etc/at.deny将lee加入黑名单,再执行at命令,则lee不能执行at命令。
编辑白名单/etc/at.allow,将tom用户加入白名单,加入白名单之后黑名单失效,未在白名单内的用户都不能执行at命令。
tom在白名单内,可以执行at命令:
jack未在白名单内,不能执行at命令:
二、系统定时任务
1>系统控制crontab的服务
systemctl status crond.service #查看服务状态
服务状态开启时定时任务才能生效:
2>crontab时间的表示方式
man 5 crontab #查看crontab
minute 0-59 | 分钟 |
---|---|
hour 0-23 | 小时 |
day of month 1-31 | 每月的几号 |
month 1-12 | 月份 |
day of week 0-7 | 星期 |
3> crontab 命令
- crontab -e -u 用户名 #创建一个用户的定时任务
- crontab -l -u 用户名 #查看用户定时任务
- crontab -r -u 用户名 #删除用户的定时任务
示例:创建一个root的定时任务,查看root的定时任务,任务内容是每分钟删除/mnt/下的文件,然后删除root的定时任务,再查看root的定时任务,此时root的定时任务为空。
四、系统中临时文件的管理方式
设定临时文件的生命周期,当临时文件存在的时间在这个生命周期之内,临时文件无法清理,当超过这个时间之后,文件就可以被清理。
此实验是在/mnt/下进行的,为了实验效果,确保实验前/mnt/目录为空,且对/mnt/目录进行监控。
进入配置目录,编辑配置文件:
在配置文件中写入:
退出保存
创建临时文件:
上面我们编辑的配置文件生效,/mnt/westos目录下的内容被设置了生命周期。
在/mnt/westos/创建文件file
清除临时文件:
可以看到,在我们设定的生命周期8s内,/mnt/westos/file不能被清理
当创建文件之后时间超过8s,就可以被清理