系统定时任务及延时任务
1. 延时任务
1. 延迟任务的发起
1.延迟任务的发起
at 04:16
at> rm -fr /mnt/* #执行任务
at> <EOT> #任务发起 <按ctrl+d键>
at -l #查看任务队列
at -c 任务号 #查看任务内容
at -r 任务号 #取消任务
实验步骤:
用监控命令进行监控,可以看出实验效果。在/mnt目录下建立文件haha
然后用at命令进行延时任务的发起,可以看出我们在04:16发起任务
然后执行
在4:16时候命令执行成功
2. 延迟任务的发起
当延迟任务有输出时,输出会以邮件形式发送到任务发起者邮箱中
mail的安装
dnf install mailx postfix
systemctl start postfix
systemctl enable postfix
mail的命令
mail -u root #查看root用户的邮件
No mail for root #root用户没有邮件
> /var/mail/root #清空root邮件
at 时间点
timedatectl #此命令有输出,但不会显示到字符设备中,此命令输出会用邮件发送给at命令的发起者
3. at命令的控制
/etc/at.deny ##at控制黑名单,此名单中的用户不能执行at命令
/etc/at.allow ##此文件默认不存在,当文件存在时,/etc/at.deny不生效,
##当此文件存在时,系统中的普通用户默认不能执行at,只有在名单中的用户才可以。
实验步骤:
首先我们切换到student用户,执行at命令,可以执行
编辑文件 /etc/at.deny
加入student用户
加入student用户之后,我们再次切换到student用户,执行at,发现不能执行。
编写文件/etc/at.allow
添加student用户
切换到student用户,我们发现student用户可以执行at命令,说明文件/etc/at.deny失效,
2. 定时任务
crond
设定方式:命令设定方式和配置文件设定方式。
1.命令设定方式:用户级别定时任务
crontab -u root -e ##设定
crontab -u root -l ##查看
crontab -u root -r ##删除
/var/spool/cron/root ##任务存储位置
实验步骤:
首先我们用命令查看crond的状态,开启状态
2.配置文件方式设定:系统级别cron,只有超级用户可以操作
/etc/cron.d ##系统级别cron设定文件存放路径
vim /etc/cron.d/xrt ##cron设定文件