系统管理是一种工具(第六章系统管理工具)

Linux系统支持一些能够自动执行任务的服务,我们称其为任务自动化,我来为大家讲解一下关于系统管理是一种工具?跟着小编一起来看一看吧!

系统管理是一种工具(第六章系统管理工具)

系统管理是一种工具

6.10 任务自动化

Linux系统支持一些能够自动执行任务的服务,我们称其为任务自动化

在 Linux 中,任务可以被配置在指定的时间段、指定的日期、或系统平均载量低于指定的数量时自动运行。Redhat Linux 预配置了对重要系统任务的运行,以便使系统能够时时被更新。譬如,被 locate 命令使用的 slocate 数据库每日都被更新。系统管理员可使用自动化的任务来执行定期备份、监控系统、运行定制脚本等等。

Redhat Linux 随带几个自动化任务的工具:cron、at、和,ananacron

1.Red Hat Linux提供三个任务自动化程序

⑴ at 在一个指定时间执行任务

⑵ cron 在一个时间表间隔内执行任务。

⑶ batch 在系统平均载量降到 0.8 以下时执行一次性的任务

⑷ anacron 通过规定的时间间隔以后执行任务。

6.11 使用at命令

要使用 at 或 batch 命令,你必须安装了 at RPM 软件包,并且 atd 服务必须在运行。要判定该软件包是否被安装了,使用 rpm -q at 命令。要判定该服务是否在运行,使用 /sbin/service atd status 命令。

1.用于安排在将来某一点的时间执行任务:

对于循环的任务使用cron命令代替。

2.使用命令atq 和atrm去管理任务:

⑴ 命令atq:列出等待的工作和工作id

atq 命令将列出当前等待的at工作,一个特权用户能通过添加一个用户id参数去获得其它用户的等待的at 工作。

要查看等待运行的 at 和 batch 作业,使用 atq 命令。它显示一列等待运行的作业,每项作业只占据一行。每一行的格式都是:作业号码、日期、小时、作业类别、以及用户名。用户只能查看他们自己的作业。如果根用户执行 atq 命令,所有用户的全部作业都会被显示。

⑵ 命令atrm:通过工作id号删除等待的工作

atrm被用来删除等待的at 工作任务。当任务被提交时,用atq命令可显示at工作任务的id号。一个特权用户根据用户id能够删除其他用户的at工作。

⑶ atd守护进程负责安排at命令的运行。

3. 命令格式:

要在某一指定时间内调度一项一次性作业,键入 at time 命令。这里的 time 是执行命令的时间。

time 参数可以是下面格式中任何一种:

HH:MM 格式 — 譬如,04:00 代表 4:00AM。如果时间已过,它就会在第二天的这一时间执行。

midnight — 代表 12:00AM。

noon — 代表 12:00PM。

teatime — 代表 4:00PM。

英文月名 日期 年份 格式— 譬如,January 15 2002 代表 2002 年 1 月 15 日。年份可有可无。

MMDDYY、MM/DD/YY、或 MM.DD.YY 格式 — 譬如,011502 代表 2002 年 1 月 15 日。

now 时间 — 时间以 minutes、hours、days、或 weeks 为单位。譬如,now 5 days 代表命令应该在 5 天之后的此时此刻执行。

时间必须要预先指定,接着是可有可无的日期。关于时间格式的详情,请阅读 /usr/share/doc/at-<version> /timespec 文本文件。

键入了 at 命令和它的时间参数后,at> 提示就会出现。键入要执行的命令,按 [Enter] 键,然后键入 Ctrl-D。你可以指定多条命令, 方法是键入每一条命令后按 [Enter] 键。键入所有命令后,按 [Enter] 键转入一个空行,然后再键入 Ctrl-D。或者,你也可以在提示后输入 shell 脚本,在脚本的每一行后按 [Enter] 键,然后在空行处键入 Ctrl-D 来退出。如果输入的是脚本,所用的 shell 就会是用户的 SHELL 环境变量中设置的值,用户的登录 shell,或是 /bin/sh(使用最先发现的)。

如果这组命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被邮寄给用户。

举例:

$at 6:00

at >mail joe <joe msg

每一行都能键入命令,单独地地一行用【Control d】使输入终止。

时间参数有一些格式,举例说明。更多信息看联机文档

at 8:00pm December 7

at 7 am Thursday

at now 5 minutes

at midnight 23 minutes

6.12 控制对at的使用和配置batch1.使用的控制文件

./etc/at.allow

./etc/at.deny

/etc/at.allow 和 /etc/at.deny 文件可以用来限制对 at 和 batch 命令的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许使用空白字符。如果使用控制文件被修改了,at 守护进程(atd) 不必被重启。每次用户试图执行 at 或 batch 命令时,使用控制文件都会被读取。

不论使用控制文件如何规定,根用户都总是可以执行 at 和 batch 命令。

2.包含的用户名被允许或拒绝使用at

如果文件at.allow存在于你的用户名出现在文件中,那么你可以使用at 命令;如果at.allow文件不存在并且文件at.deny存在,那么你必须不在at.deny文件列表中才能使用at命令;如果两个文件都不存在,默认状态是拒绝所有用户使用at调度工作任务。默认设置提供一个空的at.deny文件,因此允许所有用户去使用at。

注意:通过在以上文件中设置使用权拒绝一个用户使用at,但不禁止用户的调度工作。从而达到控制对 at 和 batch 的使用的目的。

3.启动和停止服务

要启动 at 服务,使用 /sbin/service atd start 命令。要停止该服务, 使用 /sbin/service atd stop 命令。建议你在引导时启动该服务。

4.配置 batch 作业

要在系统平均载量降到 0.8 以下时执行某项一次性的任务,使用 batch 命令。

键入 batch 命令后,at> 提示就会出现。键入要执行的命令,按 [Enter] 键,然后键入 Ctrl-D。你可以指定多条命令,方法是键入每一条命令后按 [Enter] 键。键入所有命令后,按 [Enter] 键转入一个空行,然后再键入 Ctrl-D。或者, 你也可以在提示后输入 shell 脚本,在脚本的每一行后按 [Enter] 键,然后 在空行处键入 Ctrl-D 来退出。如果输入的是脚本,所用的 shell 就会是用户的 SHELL 环境变量中设置的值,用户的登录 shell,或是 /bin/sh(使用最先发现的)。系统平均载量降到 0.8 以下,这组命令或脚本就会被执行。

如果这组命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被邮寄给用户。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页