####系统延时任务及定时任务###
##1.了解at任务##
[root@localhost ~]#at 23:37 ##设定任务执行时间
at> rm -rf /mnt/* ##任务动作
at> <EOF> << CTRL +D ##用ctrl+D发起任务
[root@localhost ~]#at now+1min ##延时1分钟
at> rm -rf /mnt/*
at> <EOF>
练习:首先建立文件然后使用at命令(用watch命令更好查看内容随时间变化)
如图:
此图:表示在19;38那时删光/mnt/test/的所有文件
此图:表示延时1分钟后进行删除
at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务执行
注意:
当任务有输出时,输出会以邮件的型发送给at任务的发起者
mail -u root ##查看超级用户邮件
l ##查看第一封邮件
q ##退出
> /var/spool/mail/root ##清空邮件
##2.at任务的黑白名单##
/etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at
如图:在黑名单中添加了student,所以不能执行at命令
/etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能执行at。只有在名单中的用户可以,并且/etc/at.deny失效
如图:在白名单中添加了westos,所以只有westos用户可以执行at命令
注意:root用户可以不管黑白名单执行at命令
##3.系统定时任务###
1.crontab 时间表示方式
crontab -e -u root或者crontab -e 都可以进行编写
* * * * * ##每分钟
*/2* * * * ##每两分钟
*/2 09-17 * * * ##早9-晚5每两分钟
*/2 */2 * * * ##每隔2小时每两分钟
*/2 09-17 3,5 1 5 ##3月和5月每周周五及1日
*/2 09-17 * * 5 ##每周周五早9晚5
2.系统控制crontab的服务
systemctl start crond.service
systemctl status crond.service ##两个操作完成后出现running标示当程序开启时定时任务生效。
3.crontab
crontab -e -u
crontab -l -u ##查看
crontab -r -u ##删除
4.文件方式设定定时任务
vim /etc/cron.d/file
* * * * * username action
比如:
* * * * * root rm -rf /mnt/*
5.crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能执行at。只有在名单中的用户可以,并且/etc/at.deny失效
##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
###4.系统中临时文件的管理方式#####
cd /usr/lib/tmpfiles.d/
vim westos.conf
d /mnt/westos 777 root root 8s
如图:表示对文件的内容8s删除
systemd-tmpfiles --creat /usr/lib/tmpfiles.d/*
systemd-tmpfiles --clean /user/lib/tmofiles.d/*