上面说了那么多的常用命令,还有一个功能我们也经常用到,就是定时器、日程表,一般通过crontab来运行;crontab 指定在固定时间或固定间隔执行特定的脚本;crontab的常用参数有如下3个:
-e :执行文字编辑器来设定日程表,一般默认的编辑器是VI;
-r :删除目前所有的日程表;
-l :列出目前所有的日程表;
设置日程表时,需要有固定的格式,共6部分,各部分间用空格间隔;其中第6个部分是要执行的命令,前5个部分是设置执行时间或者时间间隔的,具体取值范围和意义如下:
分钟【0-59】 小时【0-23】 日【1-31】 月份【1-12】 星期【0-6】
在设置的时候可以每项有4种指定方式,如下:
* :表示每 分钟/.../星期 都需要执行;
a-b :表示从第 a 分钟/.../星期 到第 b 分钟/.../星期 这段期间都需要执行;
*/n :表示每 n个 分钟/.../星期 时间间隔执行一次;
a,b,c :表示第 a,b,c 分钟/.../星期 时需要执行,也即指定多个具体时间点;
举个例子来说,比如要指定每日早上7点执行脚本mysh的crontab设置如下:
0 7 * * * /home/admin/mysh >/home/admin/mylog.txt 2>&1
其中的重定向符号>, 2>&1等代表的意思可以参见http://blog.csdn.net/sfdev/archive/2008/07/29/2729680.aspx;
Java定时框架Quartz中也支持类似Crontab的定时调度策略配置,配置方式几乎完全一样,具体可参见:
http://blog.csdn.net/sfdev/archive/2009/03/02/3950640.aspx
原文
http://blog.csdn.net/sfdev/article/details/4025916
[转载]开发人员需要熟知的常用Linux命令之二:Crontab