在 Oracle® Solaris 11.2 中管理系统信息、进程和性能

退出打印视图

更新时间: 2014 年 9 月
 
 

调度重复性系统任务 (cron)

以下各节介绍如何创建、编辑、显示和删除 crontab 文件,以及如何控制对这些文件的访问。

crontab 文件内

cron 守护进程会根据在每个 crontab 文件中找到的命令来调度系统任务。crontab 文件由命令组成,每个命令占据一行,这些命令将以固定间隔执行。每行开头包含日期和时间信息,以告知 cron 守护进程何时执行命令。

例如,在 Oracle Solaris 软件安装期间将提供名为 rootcrontab 文件。该文件的内容包括以下命令行:

10 3 * * * /usr/sbin/logadm (1)
15 3 * * 0 /usr/lib/fs/nfs/nfsfind (2)
1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 (3)
30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean (4)

    每个命令行的输出如下所示:

  • 第一行在每天凌晨 3:10 运行 logadm 命令。

  • 第二行在每个星期日凌晨 3:15 执行 nfsfind 脚本。

  • 第三行在每天凌晨 2:10 运行用于检查夏时制时间(并根据需要进行更正)的脚本。

    如果没有 RTC 时区,也没有 /etc/rtc_config 文件,则此项不执行任何操作。


    x86 only -  /usr/sbin/rtc 脚本只能在基于 x86 的系统上运行。
  • 第四行在每天凌晨 3:30 检查(并删除)通用安全服务表 /etc/gss/gsscred_db 中的重复项。

有关 crontab 文件中各行语法的更多信息,请参见crontab 文件项的语法

crontab 文件存储在 /var/spool/cron/crontabs 目录中。在 Oracle Solaris 软件安装期间,会提供包括 root 在内的若干个 crontab 文件。

adm

记帐

root

一般系统功能和文件系统清除

sys

性能数据收集

uucp

一般 uucp 清除

除缺省 crontab 文件之外,您可以创建 crontab 文件来调度自己的系统任务。定制 crontab 文件按创建它们的用户帐户名称(如 bobmarysmithjones)命名。

要访问属于 root 或其他用户的 crontab 文件,需要具有超级用户特权。

cron 守护进程处理调度的方法

cron 守护进程可管理 crontab 命令的自动调度。cron 守护进程将检查 /var/spool/cron/crontab 目录中是否存在 crontab 文件。

    cron 守护进程在启动时执行以下任务:

  • 检查新的 crontab 文件。

  • 阅读文件中列出的执行时间。

  • 在适当时间提交执行命令。

  • 侦听来自 crontab 命令的有关更新的 crontab 文件的通知。

cron 守护进程以几乎相同的方式来控制 at 文件的调度。这些文件存储在 /var/spool/cron/atjobs 目录中。cron 守护进程还侦听来自 crontab 命令的有关已提交的 at 作业的通知。

crontab 文件项的语法

crontab 文件由命令组成,每个命令占据一行,这些命令将按每个命令行的前五个字段(以空格分隔)指定的时间自动执行。

表 4-2  crontab 时间字段的可接受值
时间字段
Minute
0-59
Hour
0-23
Day of month
1-31
Month
1-12
Day of week
0-6(0 = 星期日)

    crontab 时间字段中使用特殊字符时请遵循以下规则:

  • 使用空格分隔每个字段。

  • 使用逗号分隔多个值。

  • 使用连字符指定某一范围的值。

  • 使用星号作为通配符来包括所有可能值。

  • 在一行开头使用注释标记 (#) 来表示注释或空白行。

例如,以下 crontab 命令项将于每月第一天和第十五天下午 4 点在用户的控制台窗口中显示提醒。

0 16 1,15 * * echo Timesheets Due > /dev/console

crontab 文件中的每个命令必须只占据一行,即使这一行非常长也是如此。crontab 文件不识别额外的回车。有关 crontab 项和命令选项的更多详细信息,请参阅 crontab(1) 手册页。