crontab定时任务配置方法(讲解)

版权声明:如若转载或他用,望告知 https://blog.csdn.net/qwerdfcv/article/details/82257821

概念/介绍

crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。

crontab文件一般位于/etc/下,这里面存放系统运行的的调度程序。

[root@localhost ~]# more /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

01 * * * * root run-parts /etc/cron.hourly

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

4. 任务详解

一般crontab文件里面的定时任务格式如下所示:

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/u01/rfc

# For details see man 4 crontabs

# 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) OR sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

#>输出内容不打印到屏幕上,而是输出到*.txt文件中

#追加而不是覆盖,可以用 >>代替>

*/5 * * * * /u01/rfc/test.sh > /u01/rfc/logs/test.txt 2>&1 

解析crontab 文件中每个条目中各个域的意义和格式:

第一列 分钟: 1——59

第二列 小时: 0——23

第三列 日 : 1——31

第四列 月 : 1——12

第五列 星期: 星期0——6(0表示周天,1表示周一。。。)

第六列 要运行的任务命令(0表示键盘输入;1表示标准输出;2表示错误输出)默认值为1

前面五列有四种写法: 

  1. * 表示第几分钟(小时/日/月/星期)执行一次 ;
  2. */n 表示每n分钟(小时/日/月/星期)执行一次;
  3. T1-T2 表示从T1到T2分钟(小时/日/月/星期)要执行任务;
  4. a,b,c 表示a,b,c分钟(小时/日/月/星期)分别执行一次; 

第六列:2>&1 是将错误输出重定向到标准输出。 然后将标准输入重定向到文件test.txt。&1 表示的是文件描述1,表示标准输出,如果这里少了&就成了数字1,就表示重定向到文件1。

注意:

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

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

猜你喜欢

转载自blog.csdn.net/qwerdfcv/article/details/82257821