定时执行命令Crontab

一、linux下的任务调度

          LInux下的任务调度分为两类:系统任务调度和用户任务调度。

      系统任务调度:系统周期性索要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有crontab文件,这个就是系统任务调度的配置文件,只有系统管理员可以修改。

           

             前四行是用来配置crond任务于宁的环境变量,第一行SHELL变量制定了系统要使用哪个shell,这是bash。

       第二行PATH变量制定了系统执行命令的路径,第三行MAILTO变量制定了crond的任务执行细腻将通过电子邮件发送给root用户,如果MAILTO变量为空,则表示不发送任务任务执行信息给用户,第四行的HOME变量制定了在执行命令或脚本时使用的主目录。

       用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用crontab工具来定制自己的计划任务,所有用户定义的crontab文件都被保存在

/var/spool/cron目录中。

二、crontab文件

      crontab文件包含送交crond守护进程的一系列作业和指令。

     crontab文件的含义:用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

      

       minute:表示分钟,0~59

       hour: 表示小时,0~23

       day: 表示日期,1~31

       month:表示月份,1~12

       week:表示星期,0~7,0和7代表星期日

       command:要执行的命令,可以是系统命令,也可以使自己编写的脚本文件

       以上各个字段,可以使用以下特殊字段:

       星号(*):代表所有的值

      逗号(,):可以用逗号隔开的值指定一个列表范围,例如:“1,2,3,4,5”

       中杠(-):可以用证书之间的中杠表示一个整数范围,例如:“2-6”,表示“2,3,4,5,6”

       正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两个小时执行一次,可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

 三、crond进程

       crond常常在后台作为守护进程运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

      

      查看crontab服务状态

      service crond status

      手动启动crond服务:

      service crond start

      查看crond服务是否已设置为开启启动,执行命令:

       ntsysv

       加入开机自动启动:

       chkconfig -level 35 crond on

四、cron.deny\ cron.allow文件

     系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。

   

    /etc/cron.deny 表示不能使用crontab 命令的用户

   /etc/cron.allow 表示能使用crontab的用户。

   默认情况下,cron.allow文件不存在。如果两个文件同时存在,那么/etc/cron.allow 优先。如果两个文件都不存在,那么只有超级用户可以安排作业。

五、crontab语法

1:查看当前用户的定时任务

[oracle@localhost ~]$ crontab -l

* * * * * /home/oracle/test.sh >/dev/null 2>&1

2:编辑当前用户的定时任务

 可以在编辑状态修改、删除、新增一些定时任务。注释一般用#

[oracle@localhost ~]$ crontab -e

3:删除当前用户的定时任务

[root@localhost ~]# crontab -r

[root@localhost ~]# crontab -l

no crontab for root

注意事项:

配置定时任务时,需要注意两个问题:

1: 在SHELL中设置了必要的环境变量;例如一个shell脚本手工执行OK,但是配置成后台作业执行时,获取不到ORACLE的环境变量,这是因为crontab环境变量问题,Crontab的环境默认情况下并不包含系统中当前用户的环境。所以,你需要在shell脚本中添加必要的环境变量的设置

2: 尽量所有的文件都采用完全路径方式,避免使用相对路径。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值