定时任务

发表于:2007-05-26来源:作者:点击数: 标签:
Crontab ----Quick Reference 快速上手 功能:要求系统在指定的时间,自动执行某个操作或者任务. 由cron守护进程(clock daemon)来实现,cron进程每分钟被唤醒一次,查看一下crontab中是否有需要执行的命令. 以Solaris为例 限制: 1.如果你的用户名出现在/usr/lib

Crontab ----Quick Reference 快速上手

功能:要求系统在指定的时间,自动执行某个操作或者任务.
由cron守护进程(clock daemon)来实现,cron进程每分钟被唤醒一次,查看一下crontab中是否有需要执行的命令.

以Solaris为例

限制:
1.如果你的用户名出现在/usr/lib/cron/cron.allow中,
你就能够执行Crontab命令,
如果系统没有cron.allow这个文件,
则如果你的名字没有出现在/usr/lib/cron/cron.deny中,
你就能够执行Crontab命令.
如果没有cron.allow文件,但是有cron.deny文件,但是cron.deny文件为空
则所有人都可以执行crontab命令

如果上面两个文件,系统都没有,则只有root可以执行Crontabl.

这两个文件的格式是: 每行一个用户名

命令:
利用EDITOR环境变量来指定crontab的编辑器, 如果想使用vi来编辑,命令如下:
#export EDITOR=vi

crontab -e #编辑你的crontab文件,如果不存在,则创建一个新的crontab文件
crontab -l #显示你的crontab文件
crontab -r #删除你的crontab文件
crontab -v #显示你最后一次修改crontab文件的时间(仅少数系统支持该命令)

crontab文件语法

* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- 星期 (1 - 7) (monday = 1)
| | | +------- 月 (1 - 12)
| | +--------- 天 (1 - 31)
| +----------- 时 (0 - 23)
+------------- 分 (0 - 59)


例子:
1. 每天下午6:30,删除
/home/someuser/tmp下的所有文件
30 18 * * * rm
/home/someuser/tmp/*
2. 每天下午6:30, 和每天下午6:50, 删除
/home/someuser/tmp下的所有文件
30,50 18 * * * rm
/home/someuser/tmp/*

3.每天18:10,将/export/home下的大于1M的普通文件拷贝到/export/home/yang/cron下

10 18 * * * /usr/bin/find /export/home -type f -size +1048576c -exec cp {} /export/home/yang/cron \;

原文转自:http://www.ltesting.net