一、系统延时任务
1.at 的用法
16:00 此时目录里有文件
到16:03时准时执行任务
在16:15设定时间为此时间延后一分钟
在16:16执行所输入的命令,删除了目录里的文件
at -l | 查看任务列表 |
---|---|
at -c 任务号 | 查看此任务内容 |
at -r 任务号 | 取消此任务执行 |
注意:当任务有输出时,输出会以邮件的形式发送给at任务的发起者
前期准备
先安装这两个软件
开启postfix此服务
测试
- mail -u 用户名 | 查看此用户的邮件
at 任务的发起者是root,所以我们查看root的邮件
2.at任务的黑白名单
创建三个用户分别为lee、yaya、xin
默认情况下,三位用户都可以使用at命令
vim /etc/at.deny
黑名单
[系统中默认存在的文件 ,在此文件中出现的用户不能执行at命令]
在此文件里加上lee、yaya用户
此时会发现只有xin用户才可以使用at命令
vim /etc/at.allow
白名单
[系统中默认不存在的文件,当文件存在时,普通用户不能执行;只有在名单里的用户可以]
在文件里写入lee、yaya用户
会发现只有写入白名单里的lee、yaya用户可以使用at命令
at黑白名单的优先级
在黑白名单里都写入lee用户
会发现lee用户可以使用at命令
由此可见,黑白名单同时写入一位用户,最后生效的是白名单文件!
二、系统定时任务
1.crontab的时间表达方式
man 5 crontab
查看crontab命令详解
例:
* * * * * | 每分钟 |
---|---|
*/2 * * * * | 每两分钟 |
*/2 09-17 * * * | 早上9点到下午5点每两分钟 |
*/2 */2 * * * | 每隔两小时 每两分钟 |
*/2 09-17 3,5 1 5 | 一月的第3,5天且每周五早9晚5每两分钟 |
*/2 09-17 * * 5 | 每周周五早9晚5 |
2.系统控制crontab的服务
crond.service | 当此服务开启时定时任务生效 |
---|
3.crontab的用法
(用户级别的设定)
crontab -e -u | 建立用户级定时任务 |
---|---|
crontab -l -u | 查看定时任务内容 |
crontab -r -u | 删除此用户的定时任务 |
注意:如果不加-u指定用户的话,一般默认是给超级用户设定定时任务
4.文件方式设定定时任务
(系统级别的设定)
vim /etc/cron.d/文件名
格式 | minute hour dayofmounth month dayofweek 用户名 执行动作 |
---|
5.crontab的黑白名单
vim /etc/cron.deny
[系统中默认存在的文件,在此文件出现的用户不能呢个执行crontab命令]
在黑名单里写入lee用户,会发现在lee用户下不能操作crontab命令。而yaya用户可以
vim /etc/cron.allow
[系统中默认不存在的文件,当此文件出现,普通用户不能执行crontab命令;只有在名单里的用户才可以]
创建/etc/cron.allow文件
在白名单里写入用户lee,发现只有此普通用户可以执行crotab命令
注意: 白黑名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
crontab黑白名单的优先级
在黑白名单里都写入lee用户,发现lee可以执行crontab命令
由此可见,黑白名单同时写入一位用户,最后生效的是白名单文件!
三、系统中临时文件的管理方式
vim /usr/lib/tmpfiles.d/lyx.conf
systemd-tmpfiles --create /lib/tmpfiles.d/lyx.conf | 根据规则建立一个目录 |
---|---|
systemd-tmpfiles --clean /lib/tmpfiiles.d/lyx.conf | 根据lyx.conf里规则来清理临时文件 |
注意:系统每天会自动执行systemd-tmpfiles --clean /lib/tmpfiiles.d/* 此命令,来清理临时文件!
- Get