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

一、命令at,它是个可以处理执行一次就结束调度的命令,不过要执行at时,必须要有atd这个服务,我们先来谈谈这个单一工作调度的运作。

at 参数详解:
-q : 使用指定的Queue来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时使用多个 queue,而 queue 的编号为 a, b, c… z 以及 A, B, … Z 共 52 个

-m : 即使程序/指令执行完成后没有输出结果, 也要寄封信给使用者

-f file : 读入预先写好的命令档。使用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一次读入

-d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d)

-v : 列出所有已经完成但尚未删除的指定

1、首先实时监控
linux中设定系统延时任务及定时任务
2、设置定时任务并且查看
linux中设定系统延时任务及定时任务
3、时间到之后执行任务
linux中设定系统延时任务及定时任务
4、查看任务
linux中设定系统延时任务及定时任务
linux中设定系统延时任务及定时任务
5、撤销任务
linux中设定系统延时任务及定时任务

at命令的使用控制:默认系统中全部用户都有执行at命令的权力,那么如何设置at命令的黑白名单:

at 用户黑名单

默认情况下,系统中是存在用户黑名单的,名单路径:

/etc/at.deny 此名单默认为空,在白名单不存在时生效

vim /etc/at.deny

student ##student用户不能执行at命令

at 用户白名单

默认系统中不存在at的白名单的

但是当白名单出现时,系统中除名单中出现的用户以及root用户,其他用户均不能执行at命令

/etc/at.allow

vim /etc/at.allow

westos ##添加白名单,westos可以执行

二、命令crontab

1 crontab这个命令所设置的工作将将会一直循环下去。可循环的时间为分钟,小时,每周,每年。

2 linux上原本就有许多例行性工作,所以cron(crond)这个系统服务默认启动的。

3 参数详解:

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务

4 cron由crond.service服务提供且写入程序的时间和事件是永久保存的。

5 cron设定方式:

crontab -e 进入编辑模式:

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

1、使用crontab进行编辑命令:
linux中设定系统延时任务及定时任务

2、查看

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

3、查看crontab对应的用户:

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

4、4 cron的黑白名单;

默认情况下,系统中只存在黑名单,当白名单建立时,黑名单失效

黑名单

/etc/cron.deny ##在此名单出现的用户不能执行crontab

白名单

/etc/cron.allow ##当此名单出现时,除root用户和名单上的用户可以使用,其他均不可以

三、临时文件

systemd-tmpfiles: 创建、删除和管理临时文件的一个服务 。

vim /usr/lib/tmpfiles.d/.conf ##编写管理临时文件的配置文件,为用户自定义

/usr/lib/tmpfiles.d/*.conf rpm软件安装的时候,自动更新的配置文件,不能更改
强调内容
配置文件作用域:
d /run/user 0755 root root - #当创建文件或目录时,如果/run/user不存在,就会以此属性创建目录。此目录不会被自动清除

D /home/student 0755 student user 1h - #当创建文件或目录时,如果/home/student不存在,就会以此属性创建目录。

如果执行systemd-tmpfiles –clean ,此目录下1h内没有被access、change和modified 的文件或目录会被删除。