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、首先实时监控
2、设置定时任务并且查看
3、时间到之后执行任务
4、查看任务
5、撤销任务
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 进入编辑模式:
1、使用crontab进行编辑命令:
2、查看
3、查看crontab对应的用户:
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 的文件或目录会被删除。