一.系统延时任务
延时任务是临时的
1.at命令,指定某一任务在将来的特定时间运行
格式:

           at  10:00                at  +  时间
at> rm -rf /mnt/*                延迟的动作
at> <EOT>                        ctrl+d保存


at -l | atq        查看当前任务

wKiom1mAdNLT8riDAABOf4qnTWw290.png


atrm  | at -d +任务号     取消指定任务

wKioL1mAdcuxFL09AABKScLU-YE018.png


at -c +任务号         查看任务内容

wKiom1mAdjjQo7_WAACahUPreq0138.png


at now+1min          延时一分钟

at -f file                    延时执行文件中的内容(文件不是脚本,不用加执行权限,内容可以是一段执行命令)

wKiom1mAdrCTjluGAAAVHiU7VIw706.png

wKioL1mAdrCimnF4AAA3W0QuCbY302.png


at -m    (at命令后添加)延时命令没有输出时也发送邮件给执行者

wKiom1mAdyKCOsvMAAAx-Qdm5hg759.png

wKioL1mAdyKRyM6mAABjCY4nWik026.png


at -M    (at命令后添加) 延时命令即使有输出也不发送邮件给执行者

wKioL1mAd3vSPEnGAAAvPQjQ7_A427.png


2.at命令的执行权力设定
/etc/at.deny  (直接在文件中写用户名) 用户黑名单,此名单中的用户不能执行at命令

编辑/etc/at.deny配置文件,在里面添加用户westos,切换用户实验,无法设置

wKiom1mAeFWjX1K8AAAi1W_BuaM319.png


/etc/at.allow   用户白名单,此名单默认不存在,建立后所有用户均没有at命令执行权限,此名单中的用户才有at命令执行权限,白名单使用级别高 

新建/etc/at.allow配置文件,在里面添加用户westos,切换用户实验,黑名单失效,可以设置延时任务

wKioL1mAeKaBhcmAAABX6p5yjiM085.png


 二.定时任务
定时任务是永久的,定时任务程序crond,在系统中每分钟做任务扫描

1.发起方式
发起方式一
crontab -u username -e         username用户建立定时任务
此命令会进入一个文本,该文本的填写方式是:分 时 天 月 周 + 命令

wKioL1mAfrqioWy4AAAc5jrOces469.png

crontab -u username -r          删除某用户的定时任务
crontab -u username -l          查看某用户的定时任务
wKioL1mAfqfwYTTxAAATyZSvC1w075.png

发起方式二
vim /etc/cron.d/filename 创建一个文件并在里面填写,此文件可以填写多个用户
填写方式是:
分 时 天 月 周 + 用户 + 命令
* * * * * root touch /mnt/file   表示每分钟在/mnt目录下建立一个文件file

vim /etc/cron.d/westos  (可以写成echo“* * * * * root rm -rf /mnt/*" >> westos)

wKiom1mAfwyDzpq9AAAYxoyKQ8g576.png

wKiom1mAf1vxRJFxAAAmGIOLvPw433.png



2.时间表示方法
  1* 2* 3* 4* 5* + 命令(五个必须全写)
  1 ---- 分钟
  2 ---- 小时
  3 ---- 天
  4 ---- 月
  5 ---- 周
上述数字填写范围
  * ---- 每(如每分钟)
  1(分钟) ---- 0-59
  2(小时) ---- 0-23
  3(天)   ---- 1-31
  4(月)   ---- 1-12
  5(周)   ---- 0-7 (0和7都表示星期天)
例:* * * * * 表示每分钟都执行一次
wKioL1mAf7TTsRxbAAJrAmu9rxk524.png 

3.crontab命令的执行权力设定
/etc/cron.deny  (直接在文件中写用户名) 用户黑名单,此名单中的用户不能执行crontab命令

编辑/etc/cron.deny配置文件,在里面添加用户westos,切换用户实验,无法设置

wKioL1mAgIqRgR8iAABac9bmqBE755.png

/etc/cron.allow 用户白名单,此名单默认不存在,建立后所有用户均没有crontab命令执行权限,此名单中的用户才有crontab命令执行权限,白名单使用级别高 
新建/etc/cron.allow配置文件,在里面添加用户westos,切换用户实验,黑名单失效,可以设置定时任务


三.系统中的临时文件
  系统中服务在正常运行时会产生临时文件
  在系统中 /usr/lib/tmpfiles.d/ 目录下存放
  系统的临时文件配置是 /usr/lib/tmpfiles.d/*.conf
  自己创建的临时文件配置文件必须以.conf结尾
 

临时文件配置的编写方式是:
  文件类型  文件名       文件权限 文件所有人 文件所有组 文件存在的时间
    d           /mnt/westos    777             root               root              10s         
  表示在/mnt目录下创建临时目录westos,并且十秒内不能被删除
 

wKiom1mAhUnjJOh6AAAiFhq8UyE845.png

  systemd-tmpfiles --create  /usr/lib/tmpfiles.d/*     执行临时文件配置
  systemd-tmpfiles --clean  /usr/lib/tmpfiles.d/*      清理临时文件


wKioL1mAhUrSLdTTAACBYfHpPIE224.png

wKioL1mAhUqDsGx3AABC-_PAAzU738.png

在westos下建立文件,第一次在10秒之内,无法删除,第二次10秒之后,可以删除


练习:设置脚本,在mnt建立临时文件demo,在此文件夹建立文件保持2分钟后,建立自动定时任务,每分钟清理系统临时文件

设置脚本

wKioL1mBSH2T4j5xAAB21XT6DEc390.png

建立文件

wKiom1mBSMORJYffAACM7v3UjmI448.png

实验结果:1分钟后系统定时任务没有删去指定目录里的文件,文件2分钟后自动删除

wKioL1mBSHyhdEo-AAB8gD-rHRk648.png