cron 守护程序
用途
自动运行命令。
语法
cron [ -f 配置文件 ][ -Q ]
描述
cron 守护程序在指定的日期和时间运行 shell 命令。 以下事件类型的调度是由 cron 守护程序实现:
- crontab 命令事件
- at 命令事件
- batch 命令事件
- sync 子例程事件
- ksh 命令事件
- csh 命令事件
这些事件的处理方法由 /var/adm/cron/queuedefs 文件指定。
常规调度命令可以根据包含在 crontab 文件中指令来指定。 要提交 crontab 文件,可采用 crontab 命令。 使用 at 命令以提交只运行一次的命令。 因为 cron 守护程序从不退出,它应该只被运行一次。
当 TZ 环境变量更改后,或者通过 SMIT 使用 chtz 命令,必须重启 cron 守护程序。 这使得 cron 守护程序能够使用正确的时区和夏令时来改变新的 TZ 环境变量的信息。
- 如果您有调度为在 1:00 a.m之间运行的作业。 和 2:00 a.m。 在时区从夏令时更改为标准时间的当天,作业将运行两次。
- 如果您有调度为在 2:01 a.m之间运行的作业。 和 2:59 a.m。 在时区从标准时间更改为夏令时的当天,您的作业将不会运行。 可以改变这些作业运行的时间,用手动来运行,或等到第二天再运行。 这个 cron 守护程序不需要停止。 但是,如果改变了 TZ 环境变量,停止当前的 cron 守护程序,以使它自动的产生并识别出新的 TZ 设置。
- 如果您有安排在 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 | 命名管道,使用 crontab 或 at 命令提交新作业时,它会将消息发送到 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 守护程序忽略空白行和以 # (井号) 开头的行。