服务器 频道

Solaris 10调度任务:at相关命令

  在 Solaris 系统上,许多管理任务必须频繁地定期执行。这些任务包括轮转日志文件以避免装满文件系统、备份数据和连接时间服务器来执行系统时间同步。上面提到的教程更详细地介绍了这些管理任务。在本章中,将学习Solaris中提供的调度机制,包括cron设施及crontab和at命令。

  10.1  系统资源的一次性定时调用(at命令使用)

  使用at命令,可以使系统在以后的某个时刻执行一项命令或程序,从而实现系统资源的调用。

  10.1.1  at相关命令

  1.at命令简介

  at命令用来建立一个作业。

  格式如下:

  at [-c|-k|-s] [-m] [-f file] [-p project] [-q queuename] -t time

  at [-c|-k|-s] [-m] [-f file] [-p project] [-q queuename] timespec

  at -l [-p project] [-q queuename] [at_job_id...]

  at -r at_job_id...

  主要参数如下。

  - -m:在作业完成后发送邮件。

  - time:指定要调度作业的小时。如果不按24小时制指定小时,请添加am或pm。可接受的关键字包括midnight、noon和now。分钟是可选的选项。

  - date:指定月份的前三个或更多字母、一周中的某日或关键字today或tomorrow。

  - -r at_job_id:指定要删除的作业的标识号。

  - -f file:使用指定文件而非用标准输入作为输入。

  - -q queuename:指定在哪个队列中调度要提交作业。

  at命令操作说明如下。

  要在某一指定时间内调度一项一次性作业,输入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天之后的此时此刻执行。

  输入了at命令和它的时间参数后,at>提示就会出现。输入要执行的命令,按Enter键,然后输入Ctrl-D。你可以指定多条命令,方法是输入每一条命令后按Enter键。输入所有命令后,按Enter键转入一个空行,然后再输入Ctrl-D。或者,也可以在提示后输入Shell脚本,在脚本的每一行后按Enter键,然后在空行处输入Ctrl-D退出。如果输入的是脚本,所用的Shell就会是用户的SHELL环境变量中设置的值,用户的登录Shell。如果这组命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被邮寄给用户。

  如何指定运行时间,很灵活,举几个简单的例子。

  at now                   立即运行

  at now + 2 minutes       2分钟后运行

  at 16:00                 当天下午4点运行

  at 16:00                 明天下午4点

  2.atq命令

  atq命令用来查询一个作业。

  格式如下:

  atq [-c] [-n] [name ...]

  主要参数如下。

  - -c:按发出at命令的时间先后对队列进行排序。

  - -n:仅显示当前在队列中的作业的数量。

  atq命令操作说明:

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

  3.atrm命令

  命令用来删除一个已经建立的作业。

  格式如下:

  atrm [-f] [-i] [-a] [[job #] [user] ...]

  主要参数如下。

  - -a:删除属于调用atrm命令的用户的所有作业。此标志为System V兼容性而提供。

  - -f:禁止有关正在删除的作业的所有信息。

  - -i:在作业删除前给出提示。输入y来删除作业。

  - job #:作业号。

 

0
相关文章