文章目录

  • 设置定时与延时任务的意义
  • 使用at实现延时任务
  • at 命令的管理
  • 延时任务的黑白名单
  • 使用at设置定时任务
  • 使用crontab永久设置定时任务
  • crontab下的黑白名单
  • crontab下临时文件的设置
  • 临时文件是什么
  • 管理系统中的临时文件


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

  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.执行

centos 定时任务sh 定时任务 linux_临时文件


centos 定时任务sh 定时任务 linux_centos 定时任务sh_02

centos 定时任务sh 定时任务 linux_centos 定时任务sh_03

at 命令的管理

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

图示:

-c

centos 定时任务sh 定时任务 linux_定时任务_04

centos 定时任务sh 定时任务 linux_centos 定时任务sh_05

-l -r

centos 定时任务sh 定时任务 linux_Linux_06

延时任务的黑白名单

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


centos 定时任务sh 定时任务 linux_临时文件_07

2.

centos 定时任务sh 定时任务 linux_临时文件_08

注意:

  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.

centos 定时任务sh 定时任务 linux_定时任务_09

2.

centos 定时任务sh 定时任务 linux_临时文件_10

使用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

*

*

*

*

每一天的每两分钟

*/2

08-17

1,15

*

3

每隔两分钟在1号和15号以及周三的早上8点到下午17点

*

08-17

1,15

3-5

3

每一分钟在3-5月的1号和15号以及每个周三的早上8点到下午17点

4.图示:

1.查看chrond服务是否开启

centos 定时任务sh 定时任务 linux_Linux_11

2.

centos 定时任务sh 定时任务 linux_临时文件_12

执行命令发现桌面上的东西每天每隔两分钟就会被删除

注意:

  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可以随时删除文件。