延迟与定时任务
一、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、用脚本实现文件发起方式,