ITPub博客

首页 > Linux操作系统 > Linux操作系统 > AIX下的cron使用小结

AIX下的cron使用小结

原创 Linux操作系统 作者:心飘 时间:2011-01-05 09:41:16 0 删除 编辑

AIX下的cron使用小结

1、cron介绍



cron 在 AIX 系统里是一个守护进程( Daemon ),用来自动运行 UNIX 命令。有了 cron 后,用户可以安排类似于 windows 下的“任务计划”,定期自动运行某些任务(命令或者脚本)。 cron 的运行是通过 crontab 来驱动的。


cron 进程运行时,会读取 /etc/cronlog.conf 配置文件来指定运行日志的存储信息。如果用户未配置 cronlog.conf ,则 cron 进程将运行的日志信息存储在 /var/adm/cron/log 文件里。可以通过查看日志信息验证所设置的任务是否正常运行。


aix 自带了 cron ,要验证 cron 是否正在运行。输入 cron 命令即可查看


bash-3.00# cron
! cron 已在运行。
公元2009年08月04日   星期二  14时15分04秒


cron 守护进程运行的命令和 crontab 文件条目是相对应的。如果不重新定向 cron 作业的输出为标准输出或标准错误, cron 守护进程就会通过电子邮件告知您任何命令输出或错误。如果在 crontab 文件中指定了不正确的 cron 作业,这个 cron 守护进程不运行这个作业。


cron 守护进程只在 cron 守护进程被初始化时检查 crontab 文件。当用 crontab 命令改变 crontab 文件时,指示变化的消息被发送到 cron 守护进程。这消除了在规则的调度间隔检查新的或改变的文件的开销。


2、crontab介绍



⑴、语法


crontab 的语法为: crontab [ -e [UserName] | -l [UserName] | -r [UserName] | -v [UserName] | File ] 。


crontab 命令 用来 提交、编辑、列出或除去 cron 作业。一个 cron 作业是一个命令,其运行是由 cron 守护进程在规则的调度间隔执行的。


要提交一个 cron 作业,指定 crontab 命令用 -e 标志。 crontab 命令调用一个编辑会话,允许创建一个 crontab 文件。在这个文件中,为每个 cron 创建条目。每个条目必须是一种 cron 守护进程可接受的格式。


当创建完条目和退出文件后, crontab 命令将它拷贝到 /var/spool/cron/crontabs 目录,并把它放到一个文件中,此文件的名称是当前的用户名。如果以用户名命名的文件已存在于 crontabs 目录中, crontab 命令会覆盖它。


同样的,可以通过指定文件参数创建 crontab 文件。如果此文件已经存在,格式必须是 cron 守护进程所需要的。如果文件不存在, crontab 命令就调用编辑器。如果 EDITOR 环境变量存在,此命令就调用它指定的编辑器。否则, crontab 命令调用 vi 编辑器。


要列出 crontab 文件的内容,就指定 crontab 命令并采用 -l 标志。要除去存在的文件,采用 -r 标志。


⑵、与 cron 的关系


cron tab 的文件条目 和 cron 守护进程运行的命令是相对应的。如果不重新定向 cron 作业的输出为标准输出或标准错误, cron 守护进程就会通过电子邮件告知您任何命令输出或错误。如果在 crontab 文件中指定了不正确的 cron 作业,这个 cron 守护进程不运行这个作业。


cron 守护进程只在 cron 守护进程被初始化时检查 crontab 文件。当用 crontab 命令改变 crontab 文件时,指示变化的消息被发送到 cron 守护进程。这消除了在规则的调度间隔检查新的或改变的文件的开销。


⑶、安全性


       crontab 的安全由 /var/adm/cron/cron.allow 和 /var/adm/cron/cron.deny 文件控制 ,决定 哪一个用户可以使用 crontab 命令。 root 用户可以创建、编辑或删除这些文件。这些文件的条目是用户登录名称,每个名称占一行。如果登录标识和多个的登录名称相关联,这个 crontab 命令采用第一个在 /etc/passwd 文件中的登录名称,而不管当前实际使用哪一个登录名称。而且,要允许用户启动 cron 作业,应该使用 chuser 命令将 /etc/security/user 文件中的守护进程属性设置为 TRUE 。


⑷、文件条目格式


一个 crontab 文件按包含每个 cron 作业的条目。每个条目包括 6 个字段,格式如下:


.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * command to be executed

    

     必须为每个字段指定一个值。除了 command 字段,这些字段可以包含以下内容:


    指定范围内的一个数。要在 5 月运行一个命令,在 month 字段指定 5 。


两个被破折号分开的数目表明了包含的范围。 例如, 要从星期二到星期五运行 cron 作业,把 2-5 放到 weekday 字段中。


由逗号隔开的数字列表。要在一月第一天和最后一天的运行命令,在 day _of_ month 字段中可指定 1,31 。


* (星号),意味着所有的允许值。要每个小时运行一个作业,在小时字段指定一个星号。


3、cron 和crontab 相关的文件及目录



   因 cron 是系统默认安装的,其相关的目录和描述如下表:


目录或文件

描述

/var/adm/cron/FIFO

在用 crontab 或 at 命令创建新任务时,由该文件通知 cron 守护进程

/var/adm/cron

C ron 守护进行的主目录

/var/adm/cron/log

默认的日志文件,在此文件可以查看 cron 运行的任务的 owner , pid , start time , command 和 status

/etc/cronlog.conf

用来配置 cron 日志

/var/adm/cron/queuedefs

C ron 守护进程的事件文件

/var/spool/cron

指定 cron 的 spool 区域

/var/spool/cron/crontabs

指定 crontab 的 spool 区域, crontab 文件就放在该目录

/ var/adm/cron/cron.allow

允许使用 cron 的用户清单

/var/adm/cron/cron.deny

不允许使用 cron 的用户清单

 

补充f:

出现了系统所有用户下crontab任务都没调起来,cron进程挂起或者死了情况,可以考虑对其守护进程进行重启。

ps -ef |grep cron

    root 3826012       1   0 09:35:52      -  0:00 /usr/sbin/cron

将进程kill -9 pid, 然后执行/usr/sbin/cron启动cron进程。

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/665930/viewspace-683256/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-12-29

  • 博文量
    25
  • 访问量
    130790