高效管理Linux的两大法宝——定时与延时任务

设置定时与延时任务的意义

  1. 如果我们需要定时执行一些周期性重复性的任务,我们就会用到定时执行任务功能来帮我们自动执行每天、每周等周期性重复性的任务而不需要人为干预即可实现。

  2. 延时任务是指设置某个时间,在某个时间之后的的某个时间点上执行某个任务。

  3. linux系统的定时任务就像我们在日常生活中使用的闹钟一样,一到固定的时间就会有响铃

  4. linux系统的延时任务就像闹钟响了之后不想起床,延迟几分钟再响
    注意:
    定时任务是永久的,延时任务是暂时的、一次性的。

使用at实现延时任务

at now+1min   按键回车
at> touch  file{1..3}
at>ctrl+d()

图示:
1.
首先使用watch -n 1 ls . 来监视 desktop主机的桌面文件
2.执行在这里插入图片描述
在这里插入图片描述在这里插入图片描述

at 命令的管理

at  -l       #查看当前系统有几个延时任务
at  -c  3    #查看3任务的详细情
at  -r  3    #删除该任务

图示:
-c
在这里插入图片描述在这里插入图片描述-l -r
在这里插入图片描述

延时任务的黑白名单

 vim  /etc/at.deny      #编辑at配置文件,指定哪些黑名单用户不能执行at操作
 vim  /etc/at.allow      #白名单出现,黑名单失效,只有白名单用户和超户才能执行at操作

在这里插入图片描述2.
在这里插入图片描述

注意:

  1. at.allow默认不存在 需要手动touch
  2. 只要白名单被建立 ,里面不添加用户时,其他用户都不能进行岩石任务,默认root可以执行。

使用at设置定时任务

at  21:36   #设置任务执行时间
at> touch file{1..4}
at>ctrl+d(按)

图示:
采用watch -n 1 ls -l /mnt/监控命令,监控该过程
1.
在这里插入图片描述2.在这里插入图片描述

使用crontab永久设置定时任务

1. crontab命令的格式

crontab  -e -u root  #为root用户创建定时任务
crontab  -l -u root  #列出root用户的定时任务
crontab -r -u  root  #删除root用户的定时任务

2.crontab命令的参数

e  #编辑(editor)
u  #用户(user)
l  #列出(list)
r  #删除(remove)

3.crontab的时间表示方式

分钟(0-60)小时(0-23)天数(0-31)月数(0-13)周几(0-7)含义
*****每一天的每一分钟
*08-17***每天的八点到17点的每一分钟
*/2****每一天的每两分钟
*/208-171,15*3每隔两分钟在1号和15号以及周三的早上8点到下午17点
*08-171,153-53每一分钟在3-5月的1号和15号以及每个周三的早上8点到下午17点

4.图示:

1.查看chrond服务是否开启
在这里插入图片描述2.
在这里插入图片描述执行命令发现桌面上的东西每天每隔两分钟就会被删除

注意:

  1. 执行定时任务的时候,crond.service服务必须开启
  2. man 5 crontab可以查看这个命令的用法
  3. 定时任务是放cat /var/spool/cron/root文件里面的
  4. 删除任务的同时文件就没了,删除文件的同时任务也就没有了

crontab下的黑白名单

/etc/cron.deny  #默认存在
/etc/cron.allow  #默认不存在

用法同at下的黑白名单

crontab下临时文件的设置

临时文件是什么

  1. 系统中的服务在正常运行时会产生临时文件,在系统中
/usr/lib/tmpfiles.d/

表示服务的临时文件存在位置。
2. 临时文件具有生命周期,当它的生命周期结束,才能被清理,(死了之后)被删除。

管理系统中的临时文件

在这里,我们先模拟生成一个临时文件,再对它进行操作。

cd  /usr/lib/tmpfiles.d/   #此目录下文件都是.conf结尾的文件
vim westos.conf #创建临时文件
在文件里输入以下内容
d /mnt/westos  1777 root root 8s (这个文件此时是没有的,设置这个文件的生命周期为8s)

可以设置一个监控,监控mnt目录

   watch -n 1  ls lR /mnt/
systemd-tmpfiles --create /usr/lib/tmpfiles.d/ *  也可以不用*,指定某个名字
touch /mnt/westos/file
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/ * #只有当时间到了才会清除/mnt/westos

注意:

  1. 只有clean了之后,才会在/mnt/westos/file的生命周期结束后,清除此文件。不clean也不会清除。
  2. rm -fr /mnt/westos/file可以随时删除文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值