AIX下的cron使用小结

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的关系


crontab 的文件条目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

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

/var/adm/cron

Cron守护进行的主目录

/var/adm/cron/log

默认的日志文件,在此文件可以查看cron运行的任务的ownerpidstart timecommandstatus

/etc/cronlog.conf

用来配置cron日志

/var/adm/cron/queuedefs

Cron守护进程的事件文件

/var/spool/cron

指定cronspool区域

/var/spool/cron/crontabs

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

/var/adm/cron/cron.allow

允许使用cron的用户清单

/var/adm/cron/cron.deny

不允许使用cron的用户清单

 

补充fengsh:

出现了系统所有用户下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博客 ” ,链接:http://blog.itpub.net/665930/viewspace-683256/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/665930/viewspace-683256/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值