延迟与定时任务

一、at 延迟

 at  time               #表示在这个时间点要做的事情

延迟与定时任务

at -l                     #列出延迟任务id

延迟与定时任务

at -r  任务id             #删除此id对应的任务

延迟与定时任务

at -m                     #让无输出的命令产生邮件 (删除时默认没有邮件,以此来进行验证)

 延迟与定时任务

at -M                     #让有输出的命令不产生邮件

延迟与定时任务

at -c  任务id             #查看此id对应的延时任务的执行动作

延迟与定时任务

at -f                     #用文件内记录的命令作为延时任务的的执行命令

当执行动作有输出时
输出内容会以邮件的形式发送给人物的发起人
[[email protected] mnt]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N  1 root                  Sun Oct 30 01:57  19/598   "adf"
q

at用户的黑白名单
/etc/at.deny    ##默认存在并生效
/etc/at.allow    ##默认不存在,一旦存在,/etc/at.deny失效

在黑名单中写上用户student,白名单空白

延迟与定时任务

在白名单写上用户student,黑名单依旧有student这个用户

延迟与定时任务

白名单生效,黑名单失效,

延迟与定时任务

二、定期任务

1、由crontab.service提供

延迟与定时任务

2、写入程序的时间和事件是永远保存的

MM    hh    dd    mm    ww    事件

58        06      *     *     *     rm -fr /mnt/*  #每天6:58删除mnt中的所有内容

58        06      1,15  *     *     rm -fr /mnt/*  #每月1号和15号的6:58删除mnt中的所有内容

58        06      1-15  *     *     rm -fr /mnt/*  #每月1号到15号的6:58删除mnt中的所有内容

58        06      1,15  3     *     rm -fr /mnt/*  #3月1号和15号的6:58删除mnt中的所有内容

58        06      1,15  3     3     rm -fr /mnt/*  #3月1号和15号以及3月的所有周三删除mnt中的所有内容

58        06-17   *     *     *     rm -fr /mnt/*  #6-17点,每个小时的58分删除mnt中的所有内容

*/30      06-17   *     *     1-5   rm -fr /mnt/*  #周一到周五的6-17点每个半小时删除mnt中的所有内容一次

crontab -e   root用户给自己建立定时任务

延迟与定时任务

crontab -e -u username  root用户给该用户创建定时任务

延迟与定时任务

crontab -l 列出当前用户的cron任务

延迟与定时任务

crontab -r 删除当前用户的cron任务

延迟与定时任务

/var/spool/cron/*   cron任务记录文件存放位置

延迟与定时任务

3、黑白名单
/etc/cron.deny
/etc/cron.allow

在黑名单中写上student用户,白名单为空

延迟与定时任务

在白名单中写上student用户,黑名单依旧是student用户

延迟与定时任务

zhanyan用户并不能使用crontab,证明白名单生效,除root用户及白名单所列出的用户,其他用户均不能使用crontab

4、文件的方式发起
vim /etc/cron.d/filename
MM hh dd mm ww     USERNAME    动作

echo 'MM hh dd mm ww  USERNAME    动作' >/etc/cron.d/filename

延迟与定时任务

延迟与定时任务

5、用脚本实现文件发起方式,

延迟与定时任务

延迟与定时任务