Linux系统的定时任务与延时任务

定时任务是永久的
延时任务是一次性的
前期准备:通过指令:watch -n 1 ‘ls -l /mnt‘ 监控/mnt目录内的情况
1.系统的延时任务
1)at 时间 ##设定任务执行时间
at> xxxx ##任务动作
at> ##用ctrl+D发起任务
示例:
在08:05时在/mnt目录下创建file1-3
在这里插入图片描述
在这里插入图片描述
2) at now+1min ##延时一分钟
at>
at>
示例:延时一分钟删除目录/mnt下所有文件
在这里插入图片描述
在这里插入图片描述

at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行

注意:
当任务有输出时,输出会以由检的形式发送给at任务的发起者
mail -u root ##查看超级用户邮件
1 ##查看第一封邮件
q ##退出
示例:设定延时任务在不存在的目录/hello下创建文件file
[root@server_sshd ~]# > /var/spool/mail/root ##清空邮件
[root@server_sshd ~]# at now+1min
at> touch /hello/file
at>

在这里插入图片描述
当任务执行完毕后
通过指令 mail -u root 查看root用户邮件,可以看到有一封邮件
在这里插入图片描述
&1 #查看编号为1的邮件内容在这里插入图片描述
最后一行
touch: cannot touch ‘/hello/file’: No such file or directory 即为邮件内容

& q ##退出

/etc/at.deny ##at命令黑名单,系统默认存在,在此文件中出现的用户不能执行at命令
/etc/at.allow ##at命令白名单,系统中默认不存在,该文件建立后除root用户以外,普通用户不能执行at命令,只有在名单中的用户可以使用,并且at命令黑名单失效

3.系统定时任务

1)crontab 时间表示方式

* * * * *
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 09-17 * * * ##早9-晚5每两分钟,“/“为每隔多久,“-“为从多少到多少
*/2 */2 * * * ##每隔两小时每两分钟
*/2 09-17 3,5 1 5 ##1月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 用户名 ## 删除该用户所有定时任务
  • crontab -e -u root ##编辑root用户定时任务
    在这里插入图片描述
    在这里插入图片描述

  • crontab -l -u root ##列出root用户所有定时任务
    在这里插入图片描述

  • crontab -r -u root ## 删除root用户所有定时任务在这里插入图片描述

4)文件方式设定定时任务
vim /etc/cron.d/file

* * * * * username action
* * * * * root rm -rf /mnt/*

在这里插入图片描述
设置完成后,系统将会定时执行设定的定时任务
5)crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在,当文件出现,普通用户不能执行crontab,只有在名单中的用户可以,并且/etc/cron.allow失效

注意:
这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

4.系统中临时文件的管理方式

cd /usr/lib/tmpfiles.d
vim westos.conf ##编辑设置文件

d /mnt/westos 1777 root root 8s
文件类型 文件路径 文件权限 所有人 所有组 有效时间

在这里插入图片描述

在这里插入图片描述
systemd-tmpfiles --create /usr/lib/tmpfiles.d/westos.conf ##创建临时文件夹/westos
在这里插入图片描述
在westos目录下创建文件file1,file2
在这里插入图片描述
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/westos.conf
执行清除临时文件命令,但是由于该文件创立时间没有超过8s,所以无法清除
在这里插入图片描述
超过8s后再次执行清除命令,文件便可以被清除掉了
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章