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

Unix/Linux
FreeBSD 数据转移办法
Freebsd 下运行QQ For Linux 的方法
FreeBSD, Debian, CentOS一个网卡绑定多个IP
freebsd下切换到root下 su: Sorry 的解决办法
Freebsd挂载光驱和软驱
FREEBSD下运行调试asterisk
一些 freebsd 的常用命令
笔记本上安装freebsd的小知识
FreeBSD系统下添加中文字体
FreeBSD挂载DOS分区,正确显示中文
FreeBSD挂载DOS分区时显示中文的方法
freebsd7.0安装系统图解(最新版)
服务器的时间同步设置方法
FreeBSD FTP 的架设教程
FreeBSD mpd VPN服务器安装步骤
更新FreeBSD Port Tree的几种方法小结
portupgrade 中文手册(翻译)
freebsd 服务器 ARP绑定脚本
在Ubuntu系统中定制 Compiz Fusion 特效
Ubuntu 7.10 绑定IP及MAC地址

Unix/Linux 中的 linux crontab定时命令


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 176 ::
收藏到网摘: 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 即可。