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

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

前言:每个人或多或少一都有一些约会或者工作,有的工作是例行性工作,如每年一次加薪,每月一次工作报告。那么linux的例行性工作是如何进行调度的?所谓的调度就是将这些工作安排执行的流程。linux的工作调度种类有:at,cron。

(一)linux中的定时任务

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

    at 参数详解:

                                   -V : 印出版本编号 

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

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

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

               -l : 列出所有的指定 (使用者也可以直接使用 atq 而不用 at -l) 
               -d : 删除指定 (使用者也可以直接使用 atrm 而不用 at -d) 
               -v : 列出所有已经完成但尚未删除的指定

   实验1:

1 为了实验效果,我们先实施监控:



2 设定定时任务,并查看:


3 定时一分钟后执行任务:


4 查看任务


5 撤销任务



6  执行与先写好的命令文档



7  执行,并且查看




结果;



2   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可以执行



3  linux的第二种工作调度种类为cron(循环执行)

   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编辑命令:



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

2 查看:


3 查看crontab对应的用户:



4  cron的黑白名单;

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


##黑名单

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


##白名单

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

5  文件方式定义crontab:

vim  /var/spool/cron/用户名称   ##以某和用户身份执行cron ,文件名称必须和用户名一致

分    时   天   月    周   动作


vim     /etc/cron.d/文件     ##设定多个用户执行cron           

分    时   天   月    周     用户  动作

       

实验2,设定多个用户执行cron

1 编辑 /etc/cron.d/westos:



2 在/tmp/中查看效果:




3 我们试着来编辑命令档westos,再增加点内容:


[root@localhost cron.d]# cat >> westos <<EOF


4 试着编辑icron自动化脚本,将上述操作写进脚本:




5 运行脚本:




6 查看结果,脚本编写成功:


临时文件管理:

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 的文件或目录会被删除。

实验:我们编辑配置文件:


 

我们用systemd命令:


根据xxx.conf的内容创建文件或目录:


 

执行上述命令,会发现10s后会清空/mnt/

























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值