一、定时任务:永久
        延时任务:一次性
    监控命令           watch -n 1   ls    -lR    /mnt    (l ==longer ;R==递归)
二、延时任务命令:at(存在内存中,关机清空)

1.at hh:mm | at now+1min
 at>   ...
 at>    <crtl+d> 开始执行
 at  -l   ##列出所有延时任务
 at  -c  job 号    ####查看某个任务的详细信息
 at  -r  job 号    ####取消某个任务操作:
[root@localhost ~]# at now+1min                ##一分钟后
 at> touch /mnt/file{1..5}                                ##建立文件
 at> <EOT>                                                   ##ctrl+d 执行命令
 job 1 at Tue  Oct 23 09:41:00 2018         ##一分钟后是09:41:00运行
 [root@localhost ~]# at  -l                   
 [root@localhost ~]# at 09:42                 ##在09:43时刻
 at> rm -fr /mnt/file{1..5}                     ##删除文件
 at> <EOT>                                            ##ctrl+d 执行命令
 job 2 at Tue  Oct 23 09:43:00 2018
 [root@localhost ~]# at -l                      ##查看任务内容的编号
 2    Tue Oct 23 09:43:00 2018 a root   
 [root@localhost ~]# at -c 2                    ##查看任务详细内容
 #!/bin/sh
 # atrun uid=0 gid=0
 # mail root 0[root@localhost ~]# at -r 2             ##取消job2任务



2.黑名单/etc/at.deny:本身存在。加入谁,谁不可执行;其他人都可以
  白名单/etc/at.allow:本身不存在,有了白名单,则黑名单失效。加了谁,只有他和root可以执行;其他都不可以

测试:黑名单中加linux

          

centos 停止定时任务脚本 linux定时任务停止_centos 停止定时任务脚本

     白名单加linux,黑名单失效,只有白名单和root可做延时任务

    

centos 停止定时任务脚本 linux定时任务停止_centos 停止定时任务脚本_02

              

centos 停止定时任务脚本 linux定时任务停止_白名单_03


三、定时任务

1.服务:chronyd.service(开启)
 2.用户级定时任务
 crontab -e -u 用户            ###添加某用户的定时任务
 分钟  小时    天     月     周      /bin/touch /mnt/file{1..3}       ##执行命令地址
    *          *      *       *      *              ##每月每周每天每小时每分钟
    */2       *      *       *      *       ##每月每周每天每小时每分钟2次
    */2  08-17   *       *      *       ##每月每周每天8:00-17:00每分钟2次
   */2  08-17   1,15   *      *      ##每月,每周,1和25号,8:00-17:00每分钟2次
   */2  08-17   1,15   3-5   *     ##3到5月,每周,1和25号,8:00-17:00每分钟2次
   */2  08-17   1,15   3-5   3     ##3到5月的1和25号以及每周3,8:00-17:00每分钟2次

centos 停止定时任务脚本 linux定时任务停止_白名单_04

crontab -l            ###列出定时任务
   crontab -r -u 用户            ###删除该用户的所有定时任务

3.任务存放地址:/var/spool/cron/用户

4.黑名单/etc/cron.deny:本身存在。加入谁,谁不可执行;其他人都可以

  白名单/etc/cron.allow:本身不存在,有了白名单,则黑名单失效。加了谁,只有他和root可以执行;其他都不可以

5.系统级定时任务
  vim /etc/cron.d/xxx
  * * * * *  用户  命令
 cat /etc/cron.d/xxx  查看  crontab -l看不了
 cat /etc/crontab 看编辑格式
 /etc/cron.d/0hourly 里设定了/etc/cron.hourly里的东西每整点执行
操作:
[root@foundation68 ~]# cd  /etc/cron.d       ##切换到cron.d
 [root@foundation68 cron.d]# ls                     ##查看这个目录下的文件
 0hourly  raid-check  sysstat
 [root@foundation68 cron.d]# cat 0hourly      ##设定了/etc/cron.hourly里的东西每整点执行
 # Run the hourly jobs
 SHELL=/bin/bash
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 MAILTO=root
 01 * * * * root run-parts /etc/cron.hourly         ##编写这个格式的命令
 [root@foundation68 cron.d]# vim westos                            *   *   *   *   *   root touch /mnt/file{1..5}   ##整分过1秒执行

四、临时文件管理(linux系统不卡顿原因)
1.系统会每天零点过一分时对未使用临时文件进行清理(--clean命令)。当电脑关闭时,定时任务不执行,在开机时,crond.service 服务开启状态里面的anaron服务对未执行的定时任务立即执行
2.正在使用临时文件存放位置:/usr/lib/tmpfiles.d
  它里面的.conf文件里记录着临时文件生成策略:
   类型  绝对路径   权限   所有人   所有组  子文件在系统存活时间
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*   ###读取/usr/lib/tmpfiles.d/下所有配置文件的要求,按照要求执行
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*    ###读取/usr/lib/tmpfiles.d/下所有配置文件的要求,按照要求删除临时文件目录中的过期文件
注:以上命令也是定时任务

实验步骤:   

监控:watch -n 1 ls -R /mnt/ -l
 cd   /usr/lib/tmpfiles.d
 vim  westos.conf                   ##.conf是临时文件后缀
      d /mnt/westos 1777 root root 5s          ##5秒后创建或删除
 systemd-tmpfiles --create /usr/lib/tmpfiles.d/*        ##创建临时文件
 touch  /mnt/westos/file                                   ##5s前创建
 touch  /mnt/westos/file1                                ##5s中创建
 systemd-tmpfiles  --clean  /usr/lib/tmpfiles.d/*           ##删除临时文件ls  /mnt/westos                                 ##只有file1


注意:配置文件中生成的文件夹不会被删除,但是文件夹内的文件会被清空