2-3. 系统延迟及定时机制

简介:

##系统延迟及定时机制##


习目标

*计划定期任务

*延迟任务

1.计划定期任务

***at 命令

* at 命令可以指定某一任务在将来的特定时间运行。该作业可能是一次备份、对系统的检查或者特定时间发送的通知。那些需要花费很长时间才可完成的作业正适合 at 命令。仅需使用 at 命令将任务设置为在一分钟或两分钟之后运行。然后您便可以安全注销,因为该任务会在与 shell 会话断开连接的情况下运行

*at 命令必须指定任务应运行的时间。该指定可以是具体时间和 / 或日期 (例如星期一 , 10:00pm 或 7 月 15 日 )。也可以是当前时间的相对时间 (现在时间加上 5 分钟 ,现在时间加上 3 天或 4:00pm 加上1 周)通过添加其他选项,您可以在任务完成是发送邮件( -m ),或者从文件中读取任务( -f 文件),而无需通过标准输入进行

*在键入 at 命令行之后 ,按 Enter 并继续键入作业中包含的其他命令。任务可由多个命令组成。在完成键入要运行的命令时,在单独出现的一行中按 Ctrl+d 完成任务

2.at命令示例

**[root@serverX ~]# at now +2 min

at> echo "Hello from the at command" > /dev/pts/0

at> <EOT>    ##键入ctrl+d

job 4 at 2011-08-10 14:05

注 : 在将某一 at 作业设置为运行之后 ,可以通过使用 atq 命令列出作业编号以及次数。若要查看作业中所包含的命令 ,键入 at -c #( # 号为作业编号 )。键入 atrm # ( # 号为作业编号 ) 则是删除指定作业。


wKioL1j2EJeyhHuDAAD1660wenU274.png

wKioL1j2EJjxs4mbAAGC91ZFCAQ668.png

wKiom1j2EJiRqrrBAAHj4rPCa-4361.png

##黑白名单

wKiom1j1_x7zBPKCAACFg09gUD8694.png

wKiom1j1_x6iRiwRAAAZVXxtTxk564.png

wKioL1j1_x_A8iTXAAF8KYxamgw940.png

wKiom1j1_yDyhrQBAACR2hgwMqQ310.png

3.管理定期任务

*cron 设备管理必须按计划定期重复运行的程序。后台程序crond 每分钟唤醒一次 ,以运行计划的任何任务用户使用crontab 命令计划个人任务。系统管理员可以在系统范围配置文件中设置任务

*单个用户使用称为 crontab ( cron 表 )的文本文件登记任

*crontab -l 列出文件

*crontab -r 删除文件

*crontab -e 编辑文件

*crontab -e 使用默认编辑器是 vi


wKiom1j2EJmz7rJ5AAClmDYwdUk596.png

wKioL1j2EJmhkylpAAD-8dxNOFQ803.png

4.corn时间表示方式

1* 2* 3* 4* 5* command

  – 1*----------分钟

  – 2*----------小时

  – 3*----------天

  – 4*----------月

  – 5*----------周

5.时间表示示例

wKioL1j0yvHSND8WAADpbiNAdqI228.png

6.crontab 注意事项

*属于系统的任务通常保存在 /etc/crontab 文件中而不是使用 crontab -e 编辑保存在个人文件中。更好的做法是用文本编辑器创建 crontab 文件并保存到/etc/cron.d 中 (避免更新系统软件包 cronie 时出现问题 )。

/etc/cron.d/crontab 文件在日期说明后另加一个字段,表示将运行作业的用户

*对于需要每天、每周或每月运行一次的脚本,可以直接将其设置为可执行文件 ,并保存在 /etc/cron.{daily,weekly,monthly} 中相应目录下。这些任务由/etc/anacrontab 配置的系统 anacron 服务运行 anacron是 cron 的集成组件 ,用于更好地管理作业 ,并确保在作业因计算机关闭而未运行的情况下,在系统引导后运行作业

7.cron权限设定

*在系统中默认所有用户可以设定cron

*用户黑名单

– /etc/cron.deny

*用户白名单

– /etc/cron.allow

wKioL1j2EJnSEKoNAADLdAAaRVM229.png

wKiom1j2EJqiTnZSAAASDu4aHGA015.png

wKiom1j2EJrxed_EAAEbgd75bEY652.png

wKioL1j2EJvg0rRxAABJJYa5FT0654.png



8.系统中的临时文件

*系统中服务在正常运行时会产生临时文件

*在系统中/usr/lib/tmpfiles.d/ 标实服务的临时文件存放位置

*文件示例

*vim /usr/lib/tmpfiles.d/test.conf

d /run/test 0700 root root 5s

wKiom1j2EJuiTq_uAACaT8hCXZI573.png

wKioL1j2EJuADmq5AABfyM6FKfQ794.png

wKiom1j2EJbjfeUMAACXeKiJccM391.png

9.控制系统中的临时文件

*systemd-tmpfiles

– --create /usr/lib/tmpfiles.d/test.conf

– --clean /usr/lib/tmpfiles.d/test.conf

wKioL1j2Ef7R8TH0AADxkzqvBMc550.png


本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1917177


相关文章
|
6月前
|
移动开发 监控 Java
服务器延迟原因汇总
服务器延迟原因汇总
81 0
|
消息中间件 存储 NoSQL
延迟消息的五种实现方案
生产者把消息发送到消息队列中以后,并不期望被立即消费,而是等待指定时间后才可以被消费者消费,这类消息通常被称为延迟消息。延迟消息的应用场景其实是非常的广泛,比如以下的场景:
631 0
延迟消息的五种实现方案
|
调度 Python
定时功能
利用Py简单实现定时功能
心跳 —— 超时机制分析
在C/S模式中,有时我们会长时间保持一个连接,以避免频繁地建立连接,但同时,一般会有一个超时时间,在这个时间内没发起任何请求的连接会被断开,以减少负载,节约资源。并且该机制一般都是在服务端实现,因为client强制关闭或意外断开连接,server端在此刻是感知不到的,如果放到client端实现,在上述情况下,该超时机制就失效了。本来这问题很普通,不太值得一提,但最近在项目中看到了该机制的一种糟糕的实现,故在此深入分析一下。
783 0
心跳 —— 超时机制分析
|
存储 消息中间件 SQL
一种低延迟的超时中心实现方式
在很多产品中都存在生命周期相关的设计,时间节点到了之后需要做对应的事情。超时中心(TimeOutCenter,TOC)负责存储和调度生命周期节点上面的超时任务,当超时任务设置的超时时间到期后,超时中心需要立即调度处理这些超时任务。对于一些需要低延迟的超时场景,超时中心调度延迟会给产品带来不可估量的影响。
一种低延迟的超时中心实现方式
|
SQL 容灾 关系型数据库
一次DTS同步延时过高的排错过程
业务场景: 秒级数据同步要求的容灾场景,通过阿里云数据库同步工具DTS实时将阿里云上RDS的数据实时同步至自建MySQL数据库故障现象: DTS同步延时高达2小时,造成主备数据不一致,无法满足业务的容灾需求排查经过: 首先,联系阿里云DTS后台,后台同学反馈,目标数据库RT(响应时间)过高。
1508 0
一次DTS同步延时过高的排错过程
网络超时问题最佳实践(二)--丢包和延迟详解
#云吞铺子#双11最佳技术实践系列,分享阿里云在本次双11实战中沉淀的前沿经验和满满干货!本期由阿里云技术专家怀知,继续为大家深入分享网络超时问题最佳实践!大牛出品,必属精品!
|
网络协议
10w定时任务,如何高效触发超时
很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。
779 0
1分钟实现“延迟消息”功能
环形队列是一个实现“延时消息”的好方法,开源的MQ好像都不支持延迟消息,不妨自己实现一个简易的“延时消息队列”,能解决很多业务问题,并减少很多低效扫库的cron任务。
794 0

热门文章

最新文章