系统定时延迟任务及定时任务
Posted S4061222
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统定时延迟任务及定时任务相关的知识,希望对你有一定的参考价值。
提示:
一、系统延时任务
1. at +时间:设定任务执行时间
2.【ctrl】+【D】发起任务
3.at -l :查看任务列表
4.at -c job号 :查看任务内容
5.at -r job号 :取消任务执行
二、当任务有输出时,输出会以邮件形式发送给at任务的发起者
(1)安装发送邮件和接收邮件的软件
(2)root用户执行at任务
(3)查看超级用户邮件,1:第一封,q:退出
(4)清空邮件
三、at任务的黑白名单
所有用户都可执行at任务
1.黑名单
将用户加入黑名单后,此用户无法执行at任务
2.白名单
(1) 默认不存在,当allow出现后deny失效,除去allow中的用户,其它用户都被禁止
(2) 当用户同时存在白名单和黑名单中,看白名单
四、系统定时任务
当程序开启时定时任务生效
1.定时任务保存文件:/var/spool/cron/username
系统中控制定时任务crontab的服务为crond.service,当这一服务开启时定时任务生效
系统中某用户设定的定时任务都保存在/var/spool/cron/username文件中
使用cat username 命令可以看到crontab的任务内容
2.crontab 时间表示方式
(1)* * * * * ##每分钟
(2)* /2 * * * ##每2分钟
(3)* /2 09-17 * * 5 ##每周周五的早9到下午5点的每隔2分钟
3.crontab 命令
(1)crontab -u 用户 -e #编辑定时任务
当定时任务有输出时,输出会以邮件的形式发送给crontab的发起者, /var/spool/mail/
(2)crontab -u 用户 -r #取消x用户定时任务
(3)crontab -u 用户 -l #查看x用户定时任务
4.当任务有输出时,输出会以邮件形式发送给crontab任务的发起者
4.系统级别的cron (文件方式设定定时任务, 超级用户)
crontab命令(用户级别)的定时任务设置方式,可以通过在自定义定时任务目录/etc/cron.d/下编写文件,以文件方式设定系统级别的定时任务。
(1)/etc/cron.d/下编写文件
- username action
(2)查看crond.service服务状态,anacron 查看任务是否漏执行,/mnt/下的文件被清理
5.crontab的黑白名单
(1)白名单系统中默认不存在
(2)黑名单的用户不能执行延时任务
(3) 黑白名单同时出现,deny失效
(4)黑白名单都不会影响/etc/cron.d/目录中的定时任务的发起和执行
五、执行延时/定时的输出任务,避免接受到邮件
执行延时 / 定时任务的时候(输出:echo/ find),系统每执行一次就会发送一次邮件
方法一. 屏蔽定时任务的输出(at / crontab)
在定时任务中将输出直接放入垃圾箱,此时at / crontab的发起者不会接收到邮件
方法二.关闭邮件发送功能(crontab)
关闭邮件发送功能,重启定时任务crontab服务crond.service后再次查看邮件, 即crontab的发起者不会接收到有输出的定时任务发送的邮件
3. crontab的日志:/var/log/cron
六、系统中临时文件的管理方式
1.系统临时文件存放目录:/usr/lib/tmpfiles.d/
生命周期:超过30天可以被清理
2.systemd-tmpfiles --create /usr/lib/tmpfiles.d/xxx.conf
在临时文件配置目录/lib/tmpfiles.d/下编写配置文件westos.conf,即在/mnt中建立一个存放临时文件的目录westos,该目录下的临时文件建立完成8秒后可以被清理
systemd-tmpfiles --create使得配置文件westos.conf生效
3.systemd-tmpfiles --clean /usr/lib/tmpfiles.d/xxx.conf
未到设定时间无法清理
到达8秒后systemd-tmpfiles --clean即可清理这些临时文件
以上是关于系统定时延迟任务及定时任务的主要内容,如果未能解决你的问题,请参考以下文章