系统延时及定时任务

一:系统延时任务

   所谓的系统延时就是指在若干时间以后执行什么动作,比如说文件的删除,添加等等

 一次性延迟,

 1:at命令

    at 命令可以指定某一任务在将来特定时间运行。该作业可以是一次文件的备份,对系

   统的检查在特定时间发送通知,那些需要花费很久才能完成作业正适合at命令。仅需

   使用at命令将任务设置在一分钟或两分钟后运行。然后你便可以安全注销,因为该任务

   会与shell会话断开连接情况下执行

  at 命令必须指定任务应运行的时间。该指定时间可以使具体的时间和 / 或日期(such as

  星期一    10:00  或7月15日)也可以是当前时间的相对时间,现在时间加五分钟,现在

  时间加上三天或者4:00pm 加上一周,也可以完成发送邮件(-m),或者从文件中读取

  任务(-f 文件),而无需要通过标准输入进行

  在键内输入at 命令后,按 enter 键 并继续键入作业中包含其他命令。任务可以由多个命令

  组成。在完成键入要运行命令时,要在单独出现的一行中 按 ctrl d  完成任务。

   at 时间  [enter]键

   命令  【ctrl+d】

   多久后执行什么命令 

  系统延时及定时任务2.crontab命令的执行权力设定
/etc/cron.deny  (直接在文件中写用户名) ##用户黑名单,此名单中的用户不能执行crontab命令
/etc/cron.allow                   ##用户白名单,此名单默认不存在,建立后所有用户均没有at命令执行权限,此名单中的用户才有crontab命令执行权限   

  at -l   |    atq   查看系统中的延迟任务

系统延时及定时任务

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

系统延时及定时任务

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

 at  now+1min    延时一分钟

 at    时间 -f file     编辑一个文件,不是脚本,多久后执行文件中的内容

系统延时及定时任务   

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

2:at 命令执行权力设定

/etc/at.deny         #用户黑名单,此用户不能执行at命令

/etc/at/allow        #用户白名单,此名单默认不存在,建立之后默认所有用户

都没执行at命令权限(!root)

 测试:1:将student写入黑名单,

系统延时及定时任务

系统延时及定时任务

 2:将student写入白名单,黑名单中没删除,但是student可以

执行at命令。说明白名单优先级高于黑名单。

系统延时及定时任务

   batch 命令

   batch命令用于指定时间,当系统不繁忙时执行任务,用法与at相似,

batch命令用于在指定时间,当系统不繁忙时执行任务,用法与at相似。

来自: http://man.linuxde.net/batch

batch命令用于在指定时间,当系统不繁忙时执行任务,用法与at相似。

来自: http://man.linuxde.net/batch
batch命令用于在指定时间,当系统不繁忙时执行任务,用法与at相似。

来自: http://man.linuxde.net/batch
batch命令用于在指定时间,当系统不繁忙时执行任务,用法与at相似。

来自: http://man.linuxde.net/batch

二:定时任务

     定时任务是永久性的,与at命令不同的是它好像早上七点半的闹钟会在每天响起一样

周而复始,天地轮回,直至世界的重点。在这里,我们可以设定每周的周四,也可以选

择每天的下午茶提醒,那么,在此,我们要用到的就是crond命令,它会每分钟扫描你的

电脑一次,查看你有什么定时命令需要执行,所以,我们把它设置的精确到秒是不行的。

1:任务发起

 crontab  -u username  -e    让username发起任务

 crontab  -u username  -r     删除定时任务

 crontab  -u username  -l     查看系统中定时任务

发起之后进入一个文本编辑界面,里面内容书写格式如下:

* * * * *   username   命令

五个 * 分别表示 “分 时 天 月 周”

such as

系统延时及定时任务

2.crontab命令的执行权力设定
/etc/cron.deny                    ##用户黑名单,此名单中的用户不能执行crontab命令
/etc/cron.allow                   ##用户白名单,此名单默认不存在,建立后所有用户均没有at命令执行权限,此名单中的用户才有crontab命令执行权限   

 三:系统中的临时文件
  系统中服务在正常运行时会产生临时文件
  在系统中 /usr/lib/tmpfiles.d/ 目录下存放
  系统的临时文件配置是 /usr/lib/tmpfiles.d/*.conf
  自己创建的临时文件配置文件必须以.conf结尾
  临时文件配置的编写方式是:
  文件类型  文件名       文件权限 文件所有人 文件所有组 文件存在的时间
    d        /mnt/westos    777      root        root      10s         
  ##表示在/mnt目录下创建临时目录westos,并且十秒内不能被删除
  systemd-tmpfiles --create  /usr/lib/tmpfiles.d/*  ##执行临时文件配置
  systemd-tmpfiles --clean  /usr/lib/tmpfiles.d/*   ##清理临时文件