1.系统延迟任务设定
(1)延迟任务的发起
延迟就是现在不执行,稍后再执行(延迟任务是一次性的)
at 11:36
> rm -fr /mnt/* ##执行内容
>[ctrl]+[d] ##任务发起(键盘按键)
at -l ##查看任务队列
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务
(2)当延迟任务有输出时,输出会以邮件形式发送到任务发起者邮箱中
dnf install mailx -y ##安装邮箱软件包
dnf install postfix -y ##安装邮件服务程序
systemctl start postfix
systemctl enable postifx
mail -u root ##查看root用户的邮件
No mail for root ##root用户没有邮件
> /var/mail/root ##清空root邮件
at 15:00
timedatectl ##此命令有输出但不会显示到字符设备中
##此命令输出会用邮件发送给at发起人
[root@rhel8_node1 ~]# mail -u root
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/mail/root": 1 message 1 new
>N 1 root Tue Feb 25 15:00 20/818 "Output from your job " ##at输出邮件
& 1 ##输入邮件编号查看
&q ##退出
2.系统延迟任务的黑白名单设定
系统当中默认的用户都可以执行 at 命令,对于某些用户不能使用 at 命令,可以进行黑白名单设定
/etc/at.deny ##用户延迟任务的黑名单文件
在这个文件里面写入某个用户名,这个用户名就不可以执行at命令了,将tom用户写入此文件中,tom便不可以执行at命令,其它用户可以执行at命令
/etc/at.allow ##用户延迟任务的白名单文件
这个文件默认是不存在的,但是这个文件一旦存在,那么系统中除了超级用户以外的其他普通用户都将被禁止使用at命令,当这个文件出现以后,黑名单文件将不再去受系统的检测,也就是说,黑名单里面的内容失效了。
在这个文件里面写入哪个用户,哪个用户就可以执行at命令,将tom用户写入此文件中,tom便可以执行at命令,其它用户不可以执行at命令,超级用户不受影响
3.用户级系统级定时任务
定时任务是记录在硬盘里面的信息
crond.service ##定时任务服务
(1)crond设定方式
a.命令方式设定: ##用户级别定时任务
crontab -u root -e ##设定
crontab -u root -l ##查看
crontab -u root -r ##删除
/var/spool/cron/root ##任务存储位置
设定定时任务为:在2月25日(星期二)的15:35时刻清空/mnt/目录下的所有内容
所设定的内容,存储的位置在/var/spool/cron/root,哪个用户设定的crontab,它就会存储为用户名字相同文件
时间 任务
分钟 小时 天 月 周 系统命令|脚本
08-17 * * * * ##每天每小时08分-17分
08-17 * * * 3,5 ##每周3和周五每小时08分-17分
08-17/2 * * * 3,5 ##每周3和周五每小时08分-17分时间段每隔2分钟
08-17/2 10 * * 3,5 ##每周3和周五10点08分-17分时间段每4隔2分钟
08-17/2 10 5 * 3,5 ##每周3和周五及每月5号10点08分-17分时间段每隔2分钟
08-17/2 10 5 3 3,5 ##3月每周3和周五及3月5号10点08分-17分时间段每隔2分钟
b.配置文件方式设定:
系统级别cron,只有超级用户可操作
/etc/cron.d ##系统级别cron设定文件存放路径
vim /etc/cron.d/westos ##cron设定文件
时间 用户 动作
* * * * * root rm -fr /mnt/*
下图:是实验每隔1分钟清空/mnt/目录里面的内容
/etc/cron.daily/ ##每天任务
/etc/cron.hourly/ ##每小时任务
/etc/cron.monthly/ ##每月任务
/etc/cron.weekly/ ##每周执行动作
只要脚本出现在cron.hourly目录中,它就会每小时去做脚本里面的内容(其它类似,每天、每月、每周)
必须给脚本一个可执行权限
0anacron脚本是用来检测crontab是否有漏执行任务的一个工具
(2)用户级别crond控制设定
vim /etc/cron.deny ##cron用户黑名单,用法同at.deny
vim /etc/cron.allow ##cron用户白名单,用法同at.allow