cron 守护程序

用途

自动运行命令。

语法

cron [ -f 配置文件 ][ -Q ]

描述

cron 守护程序在指定的日期和时间运行 shell 命令。 以下事件类型的调度是由 cron 守护程序实现:

  • crontab 命令事件
  • at 命令事件
  • batch 命令事件
  • sync 子例程事件
  • ksh 命令事件
  • csh 命令事件

这些事件的处理方法由 /var/adm/cron/queuedefs 文件指定。

常规调度命令可以根据包含在 crontab 文件中指令来指定。 要提交 crontab 文件,可采用 crontab 命令。 使用 at 命令以提交只运行一次的命令。 因为 cron 守护程序从不退出,它应该只被运行一次。

cron 守护程序在 cron 守护程序初始化时只检查 crontab 文件和 at 命令文件。 当使用 crontab 命令改变 crontab 文件时,表明变化的消息就会被送到 cron 守护程序。 这消除了在规则的调度间隔检查新的或改变的文件的开销。
注: 当用户不再可用时,将不再运行该用户的 cron 作业。 即使该用户最后变为可用,该用户的 cron 作业也将不再排入队列。 cron 守护程序不会将有关用户可用性的信息记录到 cronlog 文件中。

TZ 环境变量更改后,或者通过 SMIT 使用 chtz 命令,必须重启 cron 守护程序。 这使得 cron 守护程序能够使用正确的时区和夏令时来改变新的 TZ 环境变量的信息。

注意:
  1. 如果您有调度为在 1:00 a.m之间运行的作业。 和 2:00 a.m。 在时区从夏令时更改为标准时间的当天,作业将运行两次。
  2. 如果您有调度为在 2:01 a.m之间运行的作业。 和 2:59 a.m。 在时区从标准时间更改为夏令时的当天,您的作业将不会运行。 可以改变这些作业运行的时间,用手动来运行,或等到第二天再运行。 这个 cron 守护程序不需要停止。 但是,如果改变了 TZ 环境变量,停止当前的 cron 守护程序,以使它自动的产生并识别出新的 TZ 设置。
  3. 如果您有安排在 2:00 a.m运行的作业。 在您的时区从标准时间更改为夏令时的当天,您的作业将提前一秒运行。

cron 守护程序读取用户提供的用于记录信息的 /etc/cronlog.conf 配置文件。 如果尚未创建配置文件,那么 cron 守护程序将在 /var/adm/cron/log 文件中创建其活动的日志。 cron 守护程序在激活配置文件并接收到挂起信号时读取该文件。

如果 cron 守护程序无法创建或打开用户指定的日志文件,那么它将在 /var/adm/cron/log 文件中创建其活动的日志。

标志

描述
-f ConfigurationFile 指定备用的配置文件。
-Q 安静方式。 如果指定, -Q 将禁用 cron 日志记录。 此参数对用户配置的日志文件以及缺省 /var/adm/cron/log 文件有效。 此选项必须跟在 -f 选项之后 (如果指定了 -f )。

安全性

审计事件

如果正确地配置和启用了审计子系统,那么 cron 守护程序就会在每次运行命令时生成以下审计记录(事件):

事件 信息
CRON_Start 列出每个作业的名称,无论这个作业是由 at 还是 cron 命令来初始化,和列出作业启动的时间。
CRON_Finish 列出用户的名称、作业的进程标识和处理完成的时间。

RBAC 用户注意: 此命令可以执行特权操作。 只有特权用户才能执行特权限定的操作。 有关权限与特权的更多信息,请参阅安全性中的“特权限定的命令数据库”。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。

文件

描述
/var/adm/cron/FIFO 命名管道,使用 crontabat 命令提交新作业时,它会将消息发送到 cron 守护程序。
/var/adm/cron 指定主要的 cron 守护程序目录。
/var/adm/cron/log 缺省日志文件,用于指定所有已执行的 cron的记帐信息。 包含诸如 cron 作业的所有者, pid ,开始时间,命令和退出状态之类的信息。 在该文件上不执行轮换。
/etc/cronlog.conf 指定用于记录信息的缺省 cron 配置文件。
/var/adm/cron/queuedefs      指定 cron 守护程序事件文件。
/var/spool/cron 指定假脱机区域。
/usr 指示由 cron 守护程序保持打开的目录。
/usr/bin 指示由 cron 守护程序保持打开的目录。
/usr/lib 指示由 cron 守护程序保持打开的目录。
/etc 指示由 cron 守护程序保持打开的目录。
/tmp 指示由 cron 守护程序保持打开的目录。

配置文件

配置文件通知 cron 守护程序在何处以及如何记录信息。 使用配置文件您可以指定日志文件名、大小限制、轮换策略、压缩和归档属性。

如果不使用 -f 标志,那么 cron 守护程序将读取缺省 /etc/cronlog.conf 配置文件。

如果 cron 无法打开配置文件,那么它将继续执行 /var/adm/cron/log

cron 守护程序忽略空白行和以 # (井号) 开头的行。