Linux系统crontab使用手册Linux系统crontab使用手册第2页/共9页目录目录..............................................................................................................21引言...............................................................................................31.1目的................................................................................................................31.2对象................................................................................................................32修订历史........................................................................................33参考资料........................................................................................34术语与缩写....................................................................................34.1术语................................................................................................................34.2缩写................................................................................................................45Crontab介绍.............................................................................................45.1安装................................................................................................................45.2/etc/crontab文件...........................................................................................45.3/etc/cron.deny和/etc/cron.allow文件...........................................................56Crontab使用说明......................................................................................56.1Crontab语法..................................................................................................56.2Crontab格式说明...........................................................................................66.3注意................................................................................................................76.4&后台执行命令.............................................................................................76.52&1含义.......................................................................................................86.62&1写在后面的原因....................................................................................8Linux系统crontab使用手册第3页/共9页1引言1.1目的本手册的编写目的是对在Linux系统使用crontab的相关步骤进行总结。1.2对象本文档主要供下列人员使用:实施人员――部署负载均衡2修订历史日期版本说明作者2012-10-171.0.0初步整理陈杰3参考资料[1].4术语与缩写4.1术语序号术语名称术语定义Linux系统crontab使用手册第4页/共9页4.2缩写序号缩写缩写意义5Crontab介绍crontab命令的功能是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。5.1安装如果发现您的系统里没有这个命令,请安装下面两个软件包:vixie-croncrontabs5.2/etc/crontab文件在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。其内容如下:SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/#run-parts01****rootrun-parts/etc/cron.hourly024***rootrun-parts/etc/cron.daily224**0rootrun-parts/etc/cron.weekly4241**rootrun-parts/etc/cron.monthlyLinux系统crontab使用手册第5页/共9页5.3/etc/cron.deny和/etc/cron.allow文件/etc/cron.deny表示不能使用crontab命令的用户/etc/cron.allow表示能使用crontab的用户。如果两个文件同时存在,那么/etc/cron.allow优先。如果两个文件都不存在,那么只有超级用户可以安排作业。每个用户都会生成一个自己的crontab文件。这些文件在/var/spool/cron目录下:如:oracleroot我们直接查看这个文件,里面的内容和对应用户显示的crontab-l一致。006***/u02/scripts/del_st_archive.sh/u02/scripts/del_st_arch.log2&1又如:012***/root/bin/sync-clock.sh6Crontab使用说明6.1Crontab语法usage:crontab[-uuser]filecrontab[-uuser][-e|-l|-r](defaultoperationisreplace,per1003.2)-e(edituser'scrontab)-l(listuser'scrontab)-r(deleteuser'scrontab)-i(promptbeforedeletinguser'scrontab)-s(selinuxcontext)其中,-uuser是指设定指定user的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。如果不使用-uuser的话,就是表示设定自己的时程表。file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。Linux系统crontab使用手册第6页/共9页常用的使用方式:crontabfile[-uuser]-用指定的文件替代目前的crontab。crontab-[-uuser]-用标准输入替代目前的crontab.crontab-1[user]-列出用户目前的crontab.crontab-e[user]-编辑用户目前的crontab.crontab-d[user]-删除用户目前的crontab.crontab-cdir-指定crontab的目录。6.2Crontab格式说明我们可以用crontab-e添加要执行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。添加的命令必须以如下格式:*****command即:MHDmdcommand前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。各个字段之间用spaces和tabs分割。前5个字段分别表示:M-分钟:0-59H-小时:1-23D-日期:1-31m-月份:1-12d-星期:0-6(0表示周日)还可以用一些特殊符号:*:表示任何时刻,:表示分割-:表示一个段,如第二段里:1-5,就表示1到5点/n:表示每个n的单位执行一次,如第二段里,*/1,就表示每隔1个小时执行一次命令。也可以写成1-23/1.一些示例:008,12,16***/data/app/scripts/monitor/df.sh302***/data/app/scripts/hotbackup/hot_database_backup.sh108,12,16***/data/app/scripts/monitor/check_ind_unusable.sh108,12,16***/data/app/scripts/monitor/check_maxfilesize.sh108,12,16***/data/app/scripts/monitor/check_objectsize.shLinux系统crontab使用手册第7页/共9页4321***21:43执行1505***05:15执行017***17:00执行017**1每周一的17:00执行0,1017**0,2,3每周日,周二,周三的17:00和17:10执行0-10171**毎月1日从17:00到7:10毎隔1分钟执行001,15*1毎月1日和15日和一日的0:00执行4241**毎月1日的4:42分执行021**1-6周一到周六21:00执行0,10,20,30,40,50****每隔10分执行*/10****每隔10分执行*1***从1:0到1:59每隔1分钟执行01***1:00执行0*/1***毎时0分每隔1小时执行0****毎时0分每隔1小时执行28-20/3***8:02,11:02,14:02,17:02,20:02执行3051,15**1日和15日的5:30执行6.3注意当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上/dev/null2&1即可。6.4&后台执行命令当在前台运行某个