当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > linux crontab定时命令

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux 中的 linux crontab定时命令


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 183 ::
收藏到网摘: n/a

下面就介绍一下在我们开发过程中经常要用到的crontab命令,以及一些基本的定时任务文件的书写规则。

  名称 : crontab

  使用权限 : 所有使用者

  使用方式 :

  crontab filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

  说明 :

  crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。

  -u user : 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user的话,就是表示设定自己的时程表。

  参数 :

  -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)

  注:crontab -e后,会自动将添加的定时任务文件存到/var/spool/cron/tabs/zxin10文件中去(zxin10是用户名,表示在当前用户下设置定时任务)

  -r : 删除目前的时程表

  -l : 列出目前的时程表

  时程表的格式如下 :

  f1 f2 f3 f4 f5 program

  其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。

  当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推

  当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推

  当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推

  当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推

  使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

  使用方法:

  用vi编辑一个文件cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退出。

  在命令行输入

  xxxxxx@linux: crontab cronfile

  这样就将cronfile文件提交给cron进程,同时,新创建cronfile的一个副本已经被放在/var/spool/cron目录中,文件名就是用户名。

  注:crontab cronfile操作后会将原来存在/var/spool/cron目录下用户名的文件中的信息覆盖掉。

  例子:

  */5 * * * * /home/zxin10/batchoperate/batch_oper.sh 每五分钟执行一次batch_oper.sh 脚本

  注意: 当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上>/dev/null 2>&1 即可。