可以设置多个要自动执行的系统任务。其中有些任务应该以固定间隔进行。其他任务只需运行一次,可能是在晚间或周末等非高峰时间。
本节包含有关 crontab 和 at 这两个命令的概述信息,使用这两个命令可以调度要自动执行的例程任务。crontab 命令用于调度重复性任务。at 命令则用于调度只执行一次的任务。
下表概括说明了 crontab 和 at 命令,以及可用来控制对这些命令的访问的文件。
表 8–1 命令摘要:调度系统任务
命令 |
调度内容 |
文件位置 |
控制访问的文件 |
---|---|---|---|
crontab |
固定间隔的多个系统任务 |
/var/spool/cron/crontabs |
/etc/cron.d/cron.allow 和 /etc/cron.d/cron.deny |
at |
单个系统任务 |
/var/spool/cron/atjobs |
/etc/cron.d/at.deny |
也可以使用 Solaris Management Console 的调度作业工具来调度例程任务。有关使用和启动 Solaris Management Console 的信息,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
可以使用 crontab 命令来调度例程系统管理任务,使其每日、每周或每月执行一次。
从临时目录中删除几天前的文件
执行记帐摘要命令
使用 df 和 ps 命令捕获系统快照
执行每日安全监视
运行系统备份
列出在特定月份中未使用的文件
生成每月记帐报告
此外,用户还可以调度 crontab 命令以执行其他例程系统任务,例如发送提醒和删除备份文件。
有关调度 crontab 作业的逐步说明,请参见如何创建或编辑 crontab 文件。
通过 at 命令可以调度要在以后执行的作业。该作业可由单个命令或脚本组成。
与 crontab 类似,使用 at 命令可以调度例程任务的自动执行。但与 crontab 文件不同的是,at 文件只执行一次任务。然后,便从目录中删除这些文件。因此,在运行将输出定向到独立文件中以供以后检查的单个命令或脚本时,at 命令很有用。
提交 at 作业包括键入命令并按照 at 命令语法指定选项来调度执行作业的时间。有关提交 at 作业的更多信息,请参见at 命令的说明。
at 命令在 /var/spool/cron/atjobs 目录中存储您运行的命令或脚本以及当前环境变量的副本。at 作业文件名是一个长数字,用于指定该文件在 at 队列中的位置,后跟 .a 扩展名,例如 793962000.a。
cron 守护进程在启动时检查 at 作业并侦听是否提交了新作业。cron 守护进程执行 at 作业后,将从 atjobs 目录中删除 at 作业的文件。有关更多信息,请参见 at(1) 手册页。
有关调度 at 作业的逐步说明,请参见如何创建 at 作业。