发布日期:2015-10-13 15:55 来源: 标签: Linux操作系统 Linux教程 Linux定时任务 Crontab定时任务配置
crontab是类UNIX操作系统中的一个常用功能,功能上相当于windows下的定时任务,可以周期性的执行某一个操作,相对于at任务的单次执行,crontab是循环性的任务调度,由crond进程调度

Crontab介绍:

crontab是类UNIX操作系统中的一个常用功能,功能上相当于windows下的定时任务,可以周期性的执行某一个操作

相对于at任务的单次执行,crontab是循环性的任务调度,由crond进程调度

 相关文件:


配置方式:注:/etc/cron.allow和/etc/cron.deny两个文件在此有一定的优先级关系,建议每次只使用一个,其优先级关系在此不做讨论

crontab的配置可以直接通过修改上述的文件进行控制,也可以使用crontab命令进行修改

建议使用crontab命令进行修改,这样在退出的时候会检查当前的配置语法是否正确,从而减少错误率

crontab命令的使用方法如下:

crontab [-u username][-l|-e|-r]

-u: username 只有root才能执行这个任务,也即帮助其他用于新建、删除crontab工作调度

-e: edit 编辑crontab的工作内容

-l: list 查阅crontab的工作内容

-r: remove 删除所有的crontab的工作内容,如果仅需要删除一项,则使用-e去编辑

crontab命令其实质就是用vi编辑器编辑了个用户的配置文件,vi编辑器的使用在此不做赘述

 

crontab文件的配置格式:


#Example of job definition:

#.---------------- minute (0 - 59)

#|  .------------- hour (0 - 23)

#|  .---------- day of month (1- 31)

#| .------- month (1 - 12) OR jan,feb,mar,apr ...

#|  .---- day of week (0 - 6) (Sunday=0 or 7) ORsun,mon,tue,wed,thu,fri,sat

#|  |

#*  command to beexecuted

特殊符号:

* 星号:代表当前字段的任意时间段

, 逗号:代表分隔当前字段多个时间段

- 减号:代表当前字段的一个时间范围

*/n  :n代表一个数字,即每隔多少个时间段执行一次(注:并不是每一个操作系统都支持该格式,慎用!

 例子:

当前有一个业务系统的某一台主机的数据库trc文件产生异常,产生数据量巨大,甚至需要每三个小时清理一次,故要求如下:

写一个清理脚本程序,用crontab进行调用,要求每隔三个小时执行一次

目录:/oracle/app/oracle/admin/sid/udump

$whoami

        oracle

$pwd

        /tmp

$ cattrace_clear.sh

        #!/bin/sh

        cd /oracle/app/oracle/admin/sid/udump

        rm -rf *.trc

$ chmod744 /tmp/trace_clear.sh

$crontab -e

        * 0,3,6,9,12,15,18,21 * * * /bin/sh/tmp/trace_clear.sh

相关评论

专题信息
    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。本教程主要讲解Linux定时任务、Linux定时器、crontab命令等。