下面就介绍一下在我们开发过程中经常要用到的crontab命令,以及一些基本的定时任务文件的书写规则。
名称:crontab
使用权限:所有使用者
使用方式:
crontabfilecrontab[-uuser][-uuser]{-l|-r|-e}
说明:
crontab是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。
-uuser:是指设定指定user的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。如果不使用-uuser的话,就是表示设定自己的时程表。
参数:
-e:执行文字编辑器来设定时程表,内定的文字编辑器是VI,如果你想用别的文字编辑器,则请先设定VISUAL环境变数来指定使用那个文字编辑器(比如说setenvVISUALjoe)
注:crontab-e后,会自动将添加的定时任务文件存到/var/spool/cron/tabs/zxin10文件中去(zxin10是用户名,表示在当前用户下设置定时任务)
-r:删除目前的时程表
-l:列出目前的时程表
时程表的格式如下:
f1f2f3f4f5program
其中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中,用crontabfile的方式来设定时程表。
使用方法:
用vi编辑一个文件cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退出。
在命令行输入
xxxxxx@linux:crontabcronfile
这样就将cronfile文件提交给cron进程,同时,新创建cronfile的一个副本已经被放在/var/spool/cron目录中,文件名就是用户名。
注:crontabcronfile操作后会将原来存在/var/spool/cron目录下用户名的文件中的信息覆盖掉。
例子:
*/5****/home/zxin10/batchoperate/batch_oper.sh每五分钟执行一次batch_oper.sh脚本
注意:当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上>/dev/null2>&1即可。