`

第十六章 什么是例行性工作排程(定时任务)

 
阅读更多
每个人或多或少都有一些约会或者是工作,有的工作是例行性的, 例如每年一次的加薪、每个月一次的工作报告、每周一次的午餐会报、每天需要的打卡等等; 有的工作则是临时发生的,例如刚好总公司有高官来访,需要你准备演讲器材等等! 用在生活上面,例如每年的爱人的生日、每天的起床时间等等、还有突发性的计算机大降价 (啊!真希望天天都有!) 等等罗。

像上面这些例行性工作,通常你得要记录在行事历上面才能避免忘记!不过,由於我们常常在计算机前面的缘故, 如果计算机系统能够主动的通知我们的话,那么不就轻松多了!嘿嘿!这个时候 Linux 的例行性工作排程就可以派上场了! 在不考虑硬件与我们服务器的连结状态下,我们的 Linux 可以帮你提醒很多任务,例如:每一天早上 8:00 钟要服务器连接上音响,并启动音乐来唤你起床;而中午 12:00 希望 Linux 可以发一封信到你的邮件信箱,提醒你可以去吃午餐了; 另外,在每年的你爱人生日的前一天,先发封信提醒你,以免忘记这么重要的一天。

那么 Linux 的例行性工作是如何进行排程的呢?所谓的排程就是将这些工作安排运行的流程之意咱们的 Linux 排程就是透过 crontab 与 at 这两个东西!这两个玩意儿有啥异同?就让我们来瞧瞧先!

Linux 工作排程的种类: at, cron

从上面的说明当中,我们可以很清楚的发现两种工作排程的方式:

一种是例行性的,就是每隔一定的周期要来办的事项;
一种是突发性的,就是这次做完以后就没有的那一种 (计算机大降价...)

那么在 Linux 底下如何达到这两个功能呢?那就得使用 at 与 crontab 这两个好东西罗!

at :at 是个可以处理仅运行一次就结束排程的命令,不过要运行 at 时, 必须要有 atd 这个服务 (第十八章) 的支持才行。在某些新版的 distributions 中,atd 可能默认并没有启动,那么 at 这个命令就会失效呢!不过我们的 CentOS 默认是启动的!

crontab :crontab 这个命令所配置的工作将会循环的一直进行下去! 可循环的时间为分钟、小时、每周、每月或每年等。crontab 除了可以使用命令运行外,亦可编辑 /etc/crontab 来支持至於让 crontab 可以生效的服务则是 crond 这个服务喔!

底下我们先来谈一谈 Linux 的系统到底在做什么事情,怎么有若干多的工作排程在进行呢?然后再回来谈一谈 at 与 crontab 这两个好东西!

Linux 上常见的例行性工作

如果你曾经使用过 Linux 一阵子了,那么你大概会发现到 Linux 会主动的帮我们进行一些工作呢! 比方说自动的进行线上升级 (on-line update)、自动的进行 updatedb (第七章谈到的 locate 命令) 升级档名数据库、自动的作登录档分析 (所以 root 常常会收到标题为 logwatch 的信件) 等等。这是由於系统要正常运行的话, 某些在背景底下的工作必须要定时进行的缘故。基本上 Linux 系统常见的例行性任务有:

进行登录档的轮替 (log rotate):
Linux 会主动的将系统所发生的各种资讯都记录下来,这就是登录档 (第十九章)。 由於系统会一直记录登录资讯,所以登录档将会越来越大!我们知道大型文件不但占容量还会造成读写效能的困扰, 因此适时的将登录档数据挪一挪,让旧的数据与新的数据分别存放,则比较可以有效的记录登录资讯。这就是 log rotate 的任务!这也是系统必要的例行任务;

登录档分析 logwatch 的任务:
如果系统发生了软件问题、硬件错误、资安问题等,绝大部分的错误资讯都会被记录到登录档中, 因此系统管理员的重要任务之一就是分析登录档。但你不可能手动透过 vim 等软件去检视登录档,因为数据太复杂了! 我们的 CentOS 提供了一只程序『 logwatch 』来主动分析登录资讯,所以你会发现,你的 root 老是会收到标题为 logwatch 的信件,那是正常的!你最好也能够看看该信件的内容喔!

创建 locate 的数据库:
在第七章我们谈到的 locate 命令时, 我们知道该命令是透过已经存在的档名数据库来进行系统上档名的查询。我们的档名数据库是放置到 /var/lib/mlocate/ 中。 问题是,这个数据库怎么会自动升级啊?嘿嘿!这就是系统的例行性工作所产生的效果啦!系统会主动的进行 updatedb 喔!

whatis 数据库的创建:
与 locate 数据库类似的,whatis 也是个数据库,这个 whatis 是与 man page 有关的一个查询命令,不过要使用 whatis 命令时, 必须要拥有 whatis 数据库,而这个数据库也是透过系统的例行性工作排程来自动运行的哩!

RPM 软件登录档的创建:
RPM (第二十三章) 是一种软件管理的机制。由於系统可能会常常变更软件, 包括软件的新安装、非经常性升级等,都会造成软件档名的差异。为了方便未来追踪,系统也帮我们将档名作个排序的记录呢! 有时候系统也会透过排程来帮忙 RPM 数据库的重新建置喔!

移除缓存档:
某些软件在运行中会产生一些缓存档,但是当这个软件关闭时,这些缓存档可能并不会主动的被移除。 有些缓存档则有时间性,如果超过一段时间后,这个缓存档就没有效用了,此时移除这些缓存档就是一件重要的工作! 否则磁碟容量会被耗光。系统透过例行性工作排程运行名为 tmpwatch 的命令来删除这些缓存档呢!

与网络服务有关的分析行为:
如果你有安装类似 WWW 服务器软件 (一个名为 apache 的软件),那么你的 Linux 系统通常就会主动的分析该软件的登录档。 同时某些凭证与认证的网络资讯是否过期的问题,我们的 Linux 系统也会很亲和的帮你进行自动检查!

其实你的系统会进行的例行性工作与你安装的软件多寡有关,如果你安装过多的软件,某些服务功能的软件都会附上分析工具, 那么你的系统就会多出一些例行性工作罗!像鸟哥的主机还多加了很多自己撰写的分析工具,以及其他第三方协力软件的分析软件, 嘿嘿!俺的 Linux 工作量可是非常大的哩!因为有这么多的工作需要进行,所以我们当然得要了解例行性工作的处理方式罗!


转自:http://vbird.dic.ksu.edu.tw/linux_basic/0430cron_1.php
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    例行性工作调度-15th1

    在Linux系统中,例行性工作调度是管理自动化任务的关键组成部分,允许管理员或用户设定在特定时间执行的任务。主要有两种调度工具:`cron` 和 `at`。 `cron` 是一种周期性的任务调度器,它按照预设的时间间隔执行...

    Yunzai-Bot V3 的插件包,主要提供各式各样的定时任务功能.zip

    总的来说,这个插件包为 Yunzai-Bot V3 提供了强大的自动化能力,无论是定期执行的例行工作还是实时响应的动态任务,都能轻松应对。通过深入理解和充分利用这些插件,用户可以大大提高工作效率,实现更智能、更自动...

    ORACLE EBS服务器开关机与日常例行性工作流程

    六、每月例行性工作 每月的总结和分析工作可能包括: 1. 分析过去的数据,评估系统资源使用对性能的影响,识别潜在的安全风险。 2. 分析数据增长趋势,预测未来空间需求,制定空间资源规划。 3. 检查并调整EXTENT...

    汽车客运站营运客车安全例行检查工作规范精选.doc

    然而,作为承担大量人员流动的行业,汽车客运的安全性直接关系到人民群众的生命财产安全,因此,加强汽车客运站营运客车的安全管理,特别是安全例行检查工作显得尤为重要。《汽车客运站营运客车安全例行检查工作规范...

    班组安全例行工作制度.docx

    班组安全例行工作的具体内容包括安全网管理、班前会和班后会、班组安建环活动以及季节性安全检查等。安全网管理是一种有效收集、传递和处理安全信息的预防性手段,它确保了安全信息的及时性和准确性,为安全生产提供...

    安全管理定期例行工作制度.pdf

    最后,制度的第九条和第十条着重说明了会议决策的执行与监督机制。安全部门需要跟踪会议决定的执行情况,并进行监督,确保每一项安全决策都能够落地执行。没有执行力的决策,犹如一纸空文,无法起到真正的安全防护...

    基站系统例行维护:任务发布与解析.pptx

    基站系统例行维护是确保通信网络稳定运行的重要环节,尤其在5G时代,基站的作用更为显著。此维护过程涉及多个步骤和规范,旨在保障基站设备的正常运行,预防故障发生,并及时发现并解决潜在问题。 首先,我们要理解...

    Linux用crontab例行工作安排.docx

    在Linux系统中,`crontab`是一个非常重要的工具,用于设置周期性的任务调度,也就是我们通常所说的定时任务。这个工具允许用户定义一系列的规则,按照预设的时间间隔执行特定的命令或者脚本,这对于系统维护、数据...

    安全管理例行工作制度.pdf

    《安全管理例行工作制度》作为确保电力企业安全运营的基础性文件,规定了一系列制度化和定期化的管理措施,以提升企业的安全管理水平,预防安全事故的发生,强化责任落实,确保生产过程的安全有序。本文将详细解读该...

    例行实验及可靠性试验要求.doc

    - **新机型** 在试产阶段的第一批产品中抽样进行例行和可靠性试验,以便及时发现并改进潜在问题。 - **成熟机型** 每累计生产10万台时,也要进行例行和可靠性试验,以验证批量生产下产品质量的一致性。 - **技术...

    Linux系统中循环执行的例行性命令的建立

    本文主要介绍如何使用`crontab`工具来创建和管理这些循环执行的例行性命令。 首先,我们需要创建一个shell脚本来包含需要执行的命令。例如,我们有一个名为`test.sh`的脚本,里面包含了我们需要周期执行的命令。...

    电脑智能关机 多重任务设置

    这种设置对于那些在非工作时间进行的例行维护任务尤其有用,用户无需一直守在电脑前等待任务完成。 实现电脑智能关机和多重任务设置通常有以下几种方法: 1. **操作系统内置功能**:Windows操作系统就提供了定时...

    C小区定期例行检查工作规程.docx

    《C小区定期例行检查工作规程》是针对物业管理服务监督与检查的一项重要规程,旨在确保小区提供的服务质量达到预定标准。规程详细定义了不同层级的检查责任和执行频率,以实现对小区公共设施、环境卫生等关键领域的...

    电子政务-不拆高压引线进行例行性试验的电路.zip

    在“电子政务-不拆高压引线进行例行性试验的电路.zip”这个压缩包中,核心内容可能涉及电力系统的维护和安全测试方法,尤其是高压电路的无损检测技术。 高压引线是电力系统中的关键部分,负责传输高电压电流。由于...

    人力资源部例行工作及跟进工作.docx

    人力资源部例行工作及跟进工作.docx

    优质收藏资料安全管理定期例行工作制度.doc

    教育精品资料

    例行实验及可靠性试验要求(DOC范本).doc

    《例行实验及可靠性试验要求》是针对话机产品质量控制的一项重要管理制度,旨在确保产品的稳定性和可靠性。该文档详细规定了不同阶段和情况下进行的各种试验项目、试验要求、试验方法以及试验用话机的管理流程。 ...

    安全管理例行工作制度.doc

    【安全管理例行工作制度】 安全管理是建筑工程领域至关重要的环节,它涉及到所有工作人员的生命安全与健康,以及项目的顺利进行。本文详细阐述了如何建立并执行一套有效的安全管理例行工作制度,旨在强化安全意识,...

Global site tag (gtag.js) - Google Analytics