新手进阶:如何让Linux操作系统听你的调度(2)

  一、系统任务调度文件赏析。

新手进阶:如何让Linux操作系统听你的调度

  如上图中,是系统的一个任务调度文件crontab。从这个文件中,我们可以了解一些编制任务调度文件的基本规则以及相关技巧。如果管理员能够把这个文件吃透,那么离任务调度专家也就不远了。

  1、任务调度计划文件怎么取名。crontab是系统的一个任务调度文件。可以看到这个文件的名字是以cron为前缀的。为此,我们一看到这个文件就可以非常直观的了解到这就是一个任务调度文件。故系统管理员在建立自己的任务调度文件的时候,最好也能够以这个cron前缀开头,以提高文件名字的可读性。另外需要注意的一点就是,在Linux系统下跟其他操作系统有一个很大的不同,计文件名字或者文件加名字都是区分大小写的。也就是说,cron与Cron是两个不同的文件。为了防止搞混,在给文件取名的时候,最后都采用小写的文件名字。免得后续调用这个文件的时候,出错。

  2、为调度计划添加相关的说明。俗话说,好记性不如烂笔头。也许管理员刚开始记得这个任务调度文件是为什么建立的。但是,一年两年之后,或者以后有别人来接替你的工作,就不知道这个文件到底有什么用。为此,对任务调度文件进行一定的备注说明是必要的。如上图中,系统任务调度文件就利用#符号,来进行配置。对于这备注,笔者再提一个小建议。在进行备注时,最好采用英文。如果你英文真的很差,那么不妨采用拼音。也就是说,要尽量避免采用中文来进行备注。如果采用备注,在某些情况下可能会出现乱码。如通过SSH协议远程管理Linux服务器时,中文就很可能无法正常显示。

  3、任务文件需要制定程序运行的基本环境。如上图所示的系统任务调度文件中,就主要制定了四个基本参数。第一个是指定执行任务调度工作时所使用的shell;第二个是制定这个命令的存放路径(或者说指定命令搜索的路径);第三个是指定是否要输出结果,上面这个例子中是要把结果输出给root用户;第三个是指定根目录。这些任务调度工作的基本环境参数种,笔者认为需要说明的是第一个参数,即执行任务调度工作时所有使用的shell。Shell的功能就好像是一座桥梁,在用户与操作系统之间进行沟通的一座桥梁,提供基本的操作界面。如此系统管理员就可以为操作系统下达各种指令,在用户与操作系统之间形成一个互动的环境。各种操作系统都有其默认的shell。而且shell种类不同,其所支持的命令也就不经相同。为此,管理员就需要了解自己所需要运行的命令是否是当前所采用的shell所支持的。这是调度任务工作能够自动执行的关键。在必要的情况下,系统管理员需要查看一下系统所采用的shell,来判断某个命令是否在当前的shell下正常工作。管理员如果要查看其登陆系统时默认使用的shell,则可以通过echo命令来查询。如管理员可以采用echo $shel来判断。然后根据显示的结果,在任务调度文件中正确填写所需要采用的shell。

  4、指定具体需要执行的命令。最后一步就是指定需要执行哪些调度命令。在这个步骤中,主要是要指定如下几个方面的内容。一是这些命令用该用什么帐户来执行。注意帐户的权限不同,其可以执行的命令也是不同的。为此后面的命令必须要保证这个用户有执行的权限。二是要执行的命令。上面这个例子中,run-parts命令会执行随后目录中的所有执行文件。而通常情况下,系统会从起初设置的目录中去查找相关的命令。如果在指定的搜索路径中找不到这个命令的话,那么这个任务调度就会失败。三是需要指定具体执行的周期。如每天的12点20分执行或者每月的1日12点执行或者每周执行一次等等。这个设置比较简单,只要大家根据编写规则来写不会有什么问题。这个步骤中主要要强调的是帐户的权限与命令的搜索路径两个问题。这是任务调度配置文件中的难点,也是经常容易出错的地方。管理员需要特别的注意这两方面的内容。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28752.html