那么 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 这个服务喔!

CentOS Linux 系统上常见的例行性工作

  • 进行登录档的轮替 (log rotate):

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

  • 登录文件分析 logwatch 的任务:

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

  • 建立 locate 的数据库:

locate 指令是透过已经存在的文件名数据库来进行系统上文件名 的查询。我们的文件名数据库是放置到 /var/lib/mlocate/ 中。这个数据库怎么会自动更新啊?嘿 嘿!这就是系统的例行性工作所产生的效果啦!系统会主动的进行 updatedb 喔!

  • man page 查询数据库的建立:

与 locate 数据库类似的,可提供快速查询的 man page db 也是个数据库,但如果要使用 man page 数据库 时,就得要执行 mandb 才能够建立好啊! 而这个 man page 数据库也是透过系统的例行性工作排程来自 动执行的哩!

  • RPM 软件登录文件的建立:

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

  • 移除暂存档:

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

  • 与网络服务有关的分析行为:

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

Linux学习-什么是例行性工作排程的更多相关文章

  1. Linux学习-循环执行的例行性工作排程

    循环执行的例行性工作排程则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的例行性工作,因此这个系统服务是默认启动的. 另外, 由于使用者自己也可以进行例行性工 ...

  2. linux备忘录-例行性工作排程 (crontab)

    例行性工作排程 例行性工作排程分为两类 at at是只执行一次就结束的指令安排.要想使用at,必须要有atd服务的支持. crontab crontab是每隔一段时间自动执行的指令安排.crontab ...

  3. 例行性工作排程 (crontab)

    1. 什么是例行性工作排程 1.1 Linux 工作排程的种类: at, crontab 1.2 Linux 上常见的例行性工作2. 仅运行一次的工作排程 2.1 atd 的启动与 at 运行的方式: ...

  4. 第十六章、例行性工作排程 (crontab)

    1. 什么是例行性工作排程 1.1 Linux 工作排程的种类: at, crontab 1.2 Linux 上常见的例行性工作 2. 仅运行一次的工作排程 2.1 atd 的启动与 at 运行的方式 ...

  5. 例行性工作排程 (crontab)

    说白了,就是一些例行工作的日常执行的排序程序 Linux  工作排程的种类:  at,cron 鸟叔说,atd并不是在所有版本都是开启的,但是centos7默认是开启的 [root@localhost ...

  6. 鸟哥私房菜基础篇:例行性工作排程 (crontab)习题

    猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0430cron.php 1-今天假设我有一个命令程序,名称为: ping.sh 这个档名!我想要让系统每 ...

  7. 鸟哥的linux私房菜学习记录之例行性工作

  8. linux例行性工作调度学习(一)

    Linux系统中有一种例行性工作(crontab)可以调度,是通过crontab和at来实现的. 这两种工作调度: 一种是例行性的,就是每隔一定的周期要来办的事项. 一种是突发性的,就是这次做完以后就 ...

  9. 浅谈 linux 例行性工作 crontab (linux定时任务)

    定时任务大家都挺说过,就好比你手机上的闹钟,到了指定的时候就会响起. 今天在对redis缓存进行定时储存时又操作了一把,发现一些细节,写的不好.大家就将就看吧, 首先 简单介绍一下linux 例行性工 ...

随机推荐

  1. scrollHelper

    (function ($) { var mouseScroll = function (e) { try { var origEvent = e.originalEvent; origEvent.pr ...

  2. 百度地图API的基本用法

    首先 ,如果想调用百度地图api,你需要获取一个百度地图api的密钥. 申请秘钥的步骤: 1.搜索百度地图: 2.进入后,先登录然后点击申请密钥: 3. 4.申请成功,拥有密钥 有了密钥之后,引入百度 ...

  3. 好吧,不说闲言碎语,不抱怨,好好工作,好好学习,多总结。记录一下昨天做vuejs的心得

    1.做了两个bat文件,一个是直接定位到vuejs项目并且运行,另一个就是打包 run.bat d:cd wwwcd vuecd dtbpmcnpm run devpause build.bat cd ...

  4. UVA 1616 Caravan Robbers 商队抢劫者(二分)

    x越大越难满足条件,二分,每次贪心的选区间判断是否合法.此题精度要求很高需要用long double,结果要输出分数,那么就枚举一下分母,然后求出分子,在判断一下和原来的数的误差. #include& ...

  5. CentOS lvm

    1.创建PVpvcreate /dev/sdb /dev/sdc或pvcreate /dev/sdb1 /dev/sdc1 2.查看PVpvdisplay 3.创建VGvgcreate vgdata ...

  6. 安装python3.6 pip3 flake8

    apt-get install python3-pip # Python3 ➜  ~ pip3 -V                                             pip 9 ...

  7. java基础—异常处理

    一.异常的概念 异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误.出现错误时观察错误的名字和行号最为重要.

  8. VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程

    VMware虚拟机安装Mac OS X Mountain Lion 10.8.2所需文件:1.Vmware 9.01版下载:点击进入2.Vmware 9.01版汉化文件:点击进入3.VMware Wo ...

  9. 什么是静态代码块?java中如何使用空参构造方法自动生成不同名字的对象,使用非静态的属性和静态属性有什么区别,原因是什么?如何理解static关键字

    静态代码块?类加载就执行,最先执行 class demo{ static int num; static{ num=10; num*=3; System.out.println("haha& ...

  10. 如何将字符串@“ abc123.xyz789”倒置

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...