linux系统中的定时任务及延时任务

linux系统中的定时任务及延时任务

目的:解决人不能时时监控,以及遗忘的问题

一、延时任务(at
at time
>
命令
>ctrl d

1.基本用法
at

    -l                 列出延迟任务信息(该命令执行时间之后的延迟任务,不包括执行时间之前的延迟任务

    -r 任务id     删除此id的任务

    -m              让无输出的命令产生邮件

    -M              让有输出的命令不产生邮件

    -c 任务id    查看此id延迟任务的执行动作

    -f 文件名    用文件内记录的命令作为延迟任务的执行命令

注意:当at下的命令很多时,将其写入一个文件下,默认情况下只有输出的命令才有邮件。

2.实验1
1)设定时间在/mnttouch一个文件
2)监控/mnt目录

linux系统中的定时任务及延时任务
3)设定在当前时间的1分钟后删除该文件
4)删除此删除任务的id

linux系统中的定时任务及延时任务
5)该文件仍然存在

linux系统中的定时任务及延时任务
实验2
1)查看mail

linux系统中的定时任务及延时任务
2)清空mail

根据上图圈注部分的提示文件位置

linux系统中的定时任务及延时任务

3)在该时间之后1min后删除/mnt/*,查看mail,查看/mnt目录,下图可以看出删除是一个无输出命令

linux系统中的定时任务及延时任务
4)在/mnttouch一个文件后,在该时间之后1min后删除/mnt/*(加上-m)查看mail,查看/mnt目录,下图将无输出的命令产生邮件

linux系统中的定时任务及延时任务

默认情况下系统中用户都可以使用at命令,所以我们可以使用at命令的黑白名单。
3.at
命令的黑名单
目的:冻结某些用户的at命令执行权限(默认情况下系统中存在用户黑名单)
vim /etc/at.deny
student
linux系统中的定时任务及延时任务
4.at
命令的白名单(默认系统中中不存在白名单的,当白名单出现,系统中只有root和白名单内用户可以使用at命令且黑名单失效
touch /etc/at.allow
vim /etc/at.allow
student
linux系统中的定时任务及延时任务
即便黑名单的用户是student,但是当student出现在白名单内,则黑名单不生效。

二、定时任务(cron)
1.cron这个程序是由crond.service服务提供,写入程序的时间和事件是永久保存的,先保证该服务开启。

linux系统中的定时任务及延时任务
2.设定方式
crontab -e  [-u
用户名称 ](可以不写,默认用当前用户发起)

crontab -l 列出当前用户的任务
crontab -r 
删除当前用户的任务

linux系统中的定时任务及延时任务
内容
分钟   小时                          用户   事件
11     11           *          *          *           *                    
每天的1111
11     11        1,15       *           *          *                     
每月1号和151111
11     11        1-15       *          *           *                     
每月的1151111
11     11        1,15       3          *           *                     3
1号和15号的1111
11     11        1,15       3          3           *                    3
1号和15号以及3月的所有周三的1111
11   05-11      *           *           *           *                   
每天早上511点的11
11   05-11      *           *         1-5         *                     
每周一至周三早上5点到11点的11
注意:*表示任意,用户表示发起该时间的所有人和所有组。A用户该文件存放位置:/var/spool/cron/A

linux系统中的定时任务及延时任务
3.crontab
的黑白名单
默认情况下,系统存在crontab的黑名单,不存在白名单。
① 黑名单
/etc/cron.deny 
在此名单下的用户不能执行crontab
vim /etc/cron.deny
kiosk         
linux系统中的定时任务及延时任务
②白名单
/etc/cron.allow 
当此名单出现,只有root和该名单下的用户可以执行crontab黑名单不生效
kiosk
linux系统中的定时任务及延时任务
4.将命令导入/var/spol/cron/username 或者vim var/spol/cron/username同样可以设定定时任务 
5.切换到 /etc/cron.d,可以查看该目录下存在的文件 

linux系统中的定时任务及延时任务
linux系统中的定时任务及延时任务

该文件的内容同样是定时任务的设定,同理,我们可以在该目录下新建一个文件来设定定时任务。
vim /etc/cron.d/filename
或者将该命令导入文件中。该文件的功能就是可以设定多个用户执行cron
<
> <> <> <> <用户> <动作>

vim方式

linux系统中的定时任务及延时任务

导入命令方式

linux系统中的定时任务及延时任务

导入多行命令方式

linux系统中的定时任务及延时任务

三、临时文件的管理
临时文件的配置文件 /usr/lib/tmpfiles.d/ 以下都是临时文件的配置文件,必须以.conf结尾

linux系统中的定时任务及延时任务
1)创建管理临时文件的配置文件 vim  /usr/lib/tmpfiles.d/test.conf

下图脚本中体现了目标目录,赋予权限,uid和gid,以及生存时间

linux系统中的定时任务及延时任务
2)监视脚本中的目标目录(递归查看)

3)该配置文件生效systemd-tmpfiles--create /usr/lib/tmpfiles.d/test.conf

linux系统中的定时任务及延时任务
由于该目录下的文件是临时文件,且生存周期是10s,则在10s后,文件消失

linux系统中的定时任务及延时任务

4)清空该配置文件指向的目标目录下的文件

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/test.conf

四、分区

硬盘的分区主要分为基本分区primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区logical partion),逻辑分区没有数量上限制。每一个硬盘设备最多能有4个主分区(其中包括扩展分区),构成一个扩展分区都要占一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是4个。

主分区:主分区的作用就是计算机用来进行启动操作系统的,每一个操作系统的启动引导程序都应该放在主分区上。

逻辑分区:对于逻辑分区就是必须建立在扩展分区上。

扩展分区:扩展分区能够提供更灵活的分区方式,但是不能作为操作系统的引导。

主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。