|
linux系统下让程序定时自动执行:crontab
像大部分 Linux 使用者一样,您可能需要在某时候进行重性工作的排程。这类工作可能频繁到几 分钟一次,也可能一年只有一次。这些工作可以使用 ``cron'' 工具完成。 cron 工具在 Linux 上的应用和和在其他 Unix 上所应用的非常相似。然而, Red Hat 加上了一点 和其他 Linux 发行版不同的工作排程方法 。在其他的发行版,排程资讯位於系统的 ``crontab''档 (位在 ``/etc/'' 目录),使用下面的格式 : minute hour day month year command
您可以指定整数的时间要素 (例如 . 1 到 12 表示从一月到十二月),或者用``*'' 符号作为万用字元 指定一个或更多的要素 (例如 . * 在月的要素部分表示指令会在每月的特定日期及时间执行)。这里是 一些例子: # Mail the system logs at 4:30pm every June 15th. 30 16 15 06 * for x in /var/log/*; do cat ${x} | mail postmaster; done
# Inform the administrator, at midnight, of the changing seasons. 00 00 20 04 * echo 'Woohoo, spring is here!' 00 00 20 06 * echo 'Yeah, summer has arrived, time to hit the beach!' 00 00 20 10 * echo 'Fall has arrived. Get those jackets out. :-(' 00 00 20 12 * echo 'Time for 5 months of misery. ;-('
注意该指令会输出到一个标准出口 (亦即. 一个终端机 ),像是上面使用 ``echo'' 的例子会将输出寄 给 ``root'' 帐号。如果您想要避免它,只要像下面将输出导引到一个空的设备 : 00 06 * * * echo 'I bug the system administrator daily at 6:00am!' >/dev/null 在多出的标准 ``crontab'' 项目, Red Hat 加上了一些目录 : /etc/cron.hourly/ /etc/cron.daily/ /etc/cron.weekly/
crontab -e 重新编辑定时执行程序 |