FreeBSD连载(25):定时执行程序

2009-05-13 12:19:14来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


定时执行程序
  Unix系统提供了cron和at命令,使系统和用户可以定时运行一定的程序,而不需手工启动。
  使用cron用于周期性的执行一个命令,为了使用它,必须编辑crontab文件。系统缺省的/etc/crontab 文件为:
# /etc/crontab - root's crontab for FreeBSD
#
# $Id: crontab,v 1.13 1996/01/06 22:21:37 ache Exp $
# From: Id: crontab,v 1.6 1993/05/31 02:03:57 cgd Exp
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute        hour        mday        month        wday        who        command
#
*/5     *       *       *       *       root        /usr/libexec/atrun
#
# rotate log files every hour, if necessary
0        *        *        *        *        root        /usr/sbin/newsyslog
#
# do daily/weekly/monthly maintenance
0       2       *       *       *       root    /etc/daily 2>&1 | sendmail root
30      3       *       *       6       root    /etc/weekly 2>&1 | sendmail root
30      5       1       *       *       root    /etc/monthly 2>&1 | sendmail root
#
# time zone change adjustment for wall cmos clock,
# does nothing, if you have UTC cmos clock.
# See adjkerntz(8) for details.
1,31        0-4        *        *        *        root        /sbin/adjkerntz        -a
  在这个crontab文件中首先设置了几个环境变量,cron执行这个文件时先设置这些环境变量,然后按照每列规定的时间来执行相应的命令。第一列为分钟,规定每小时的第几分执行相应的程序,第二列为每天第几小时执行程序,,第三列为每月的第几天,第四列为第几周,第五列为每周的第几天,第六列为执行该文件的用户身份,第七列为要执行的命令。
  普通用户也可以使用crontab命令来创建和维护自己的crontab文件。由于是用户不能更改执行程序的标识的,因此用户的crontab就不需第六列──执行程序的用户身份,而只要直接跟随要执行的命令。使用 “crontab -e” 命令,使用编辑器按照相应的格式编辑自己的crontab文件,或者使用 “crontab -l ” 列出现有crontab文件的内容,当然只有root用户才能查看其他用户的crontab文件:
$ crontab -l
12 0 * * * /home/wb/bin/getfiles
  所有用户的crontab设置文件都放在/var/cron/tabs目录下,文件名与每个用户的用户名相同。cron中的命令执行结果将被系统使用mail寄给每个用户。在/var/cron目录下还有crontab执行的记录文件,系统管理员可以按照这个文件来检查系统安全性,检查是否有影响系统安全的程序被执行。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD连载(24):查看系统状态

下一篇:FreeBSD连载(26):进程的权限