系统延时任务和定时任务

一,系统延时任务

  at   04:49      设定任务执行时间
  at>   touch   file{1..3}     任务动作
  at> <EOT>        <<   CTRL +D      用ctrl+D  发起任务

系统延时任务和定时任务

  at  now+1min        延时1分钟
  at>   rm -fr   file*       任务动作
  at> <EOT>             <<   CTRL +D      用ctrl+D  发起任务

系统延时任务和定时任务

  at    -l         查看任务列表
  at    -c        查看任务内容
  at    -r         取消任务执行

系统延时任务和定时任务
系统延时任务和定时任务

注:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者

   mail   -u   root       查看超级用户邮件
   1                            查看第一封邮件
   q                            退出
   >    /var/spool/mail/root         清空邮件

##邮件的存放位置:
/var/spool/mail/用户名 :每一个用户的邮件会被记录在以其用户名为名称的文件中。

2,at 任务的黑白名单

   /etc/at.deny        (黑名单)  系统中默认存在,在此文件中出现的用户不能执行at
   /etc/at.allow         (白名单)系统中默认不存在,当文件出现,普通用户不能执行at,只有在名单中的用户可以,并且/etc/at.deny失效。

系统延时任务和定时任务
系统延时任务和定时任务
注:若设置白名单,即所有用户就被设置为黑名单,只有白名单里的用户能设置延时任务。

二,系统定时任务

1,crontab 时间表示方式

  *   *   *   *   *                                           每分钟
  */2   *    *    *    *                                     每两分钟            
  */2    09-17   *    *    *                            早9-晚5每两分钟
  */2    09-17   3,5   1   *                      一月的3到5号早9晚5每两分钟                      
  */2    09-17   *    *    5                           每周周五早9晚5

2,系统控制crontab服务
crond.service 当程序开启是定时任务生效
系统延时任务和定时任务

  crontab  -e  -u   ##设定指定用户的定时任务
  crontab  -l  -u   ##查看指定用户的定时任务
  crontab  -r  -u   ##删除指定用户的定时任务

以每分钟删除文件file2为例:
系统延时任务和定时任务
系统延时任务和定时任务
注:存储系统定时任务的文件:/var/spool/cron/root

3,延时任务的黑白名单

   /etc/cron.deny         (黑名单)  系统中默认存在,在此文件中出现的用户不能执行at
 /etc/cron.allow         (白名单)系统中默认不存在,当文件出现,普通用户不能执行at,只有在名单中的用户可以,并且/etc/at.deny失效。

4,系统中临时文件的管理方式

    cd /usr/lib/tmpfiles.d/           /usr/lib/tmpfiles.d/ 中的.conf文件描述了 systemd-tmpfiles 如何创建、清理、删除临时文件和目录,记录了对临时文件的规范
    systemd-tmpfiles --create /usr/lib/tmpfiles.d/*     编写一个临时目录的规范文件,并扫描该规范文件创造出该目录
    systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*      使用该指令对临时文件的规范文件进行扫描,过期的临时文件会被清理

注:若不是过期文件则不会被清理。