CRONTAB概念/介绍html

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

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

1: crontab文件通常位于/etc/下,这里面存放系统运行的的调度程序。bash

[root@localhost cron]# more /etc/crontaboracle

SHELL=/bin/bashapp

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

MAILTO=rootide

HOME=/this

# run-partsurl

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

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

2:每一个用户都会生成一个自动生成一个本身的crontab文件,通常位于/var/spool/cron目录下

[root@localhost cron]# cd /var/spool/cron

[root@localhost cron]# ls

oracle root

若是你用命令crontab -r 就会删除当前用户的crontab文件,例如你切换到oracle帐号下,执行了该命令,那么/var/spool/cron/oracle文件就会删除,若是要建立该文件只须要用crontab -e命令便可。注意,普通用户通常没有权限访问/var/spool/cron

3:cron.deny 与 cron.allow文件

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

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

默认状况下,cron.allow文件不存在。若是两个文件同时存在,那么/etc/cron.allow 优先。若是两个文件都不存在,那么只有超级用户能够安排做业。

可是让人纳闷的是cron.deny文件是空的,以下所示

[oracle@localhost etc]$ more cron.deny

4:cron.hourly,cron.daily,cron.monthly,cron.weekly

[oracle@localhost etc]$ ls -lrt cron*

-rw-r--r-- 1 root root 255 Sep 21 2004 crontab

-rw-r--r-- 1 root root 0 May 16 2008 cron.deny

cron.hourly:

total 0

cron.monthly:

total 8

-rwxr-xr-x 1 root root 278 Sep 29 2004 0anacron

cron.weekly:

total 16

-rwxr-xr-x 1 root root 277 Sep 29 2004 0anacron

-rwxr-xr-x 1 root root 414 Jun 6 2007 00-makewhatis.cron

cron.daily:

total 60

-rwxr-xr-x 1 root root 286 Aug 14 2004 tmpwatch

-rwxr-xr-x 1 root root 276 Sep 29 2004 0anacron

-rwxr-xr-x 1 root root 2133 Dec 1 2004 prelink

-rwxr-xr-x 1 root root 180 May 2 2006 logrotate

-rwxr-xr-x 1 root root 418 Jun 6 2007 00-makewhatis.cron

-rwxr-xr-x 1 root root 104 Aug 2 2007 rpm

-rwxr-xr-x 1 root root 121 Aug 22 2007 slocate.cron

lrwxrwxrwx 1 root root 28 May 16 2008 00-logwatch -> ../log.d/scripts/logwatch.pl

cron.d:

total 12

-rw------- 1 root root 366 Jun 12 2007 sa-update

-rw-r--r-- 1 root root 188 Jul 18 2007 sysstat

CRONTAB在线手册

注意:不一样版本的Linux系统,可能crontab手册内容有所出入,请以实际版本为准。

[oracle@localhost ~]$ man crontab | more

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文件里面的定时任务格式以下所示:

59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1

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

第一列 分钟: 1——59

第二列 小时: 1——23(0表示子夜)

第三列 日 : 1——31

第四列 月 : 1——12

第五列 星期: 星期0——6(0表示星期天,1表示星期1、以此类推)

第六列 要运行的命令

咱们暂且用C一、C二、C三、C四、C五、C6表明这六列,前面五列经过组合方式来决定执行脚本的频率,最小频率为每分钟执行一次,其中Cn能够用 * ; */n ; T1-T2; a,b,c; 四种形式来表示:

当 C1 为 * 时表示每分钟都要执行脚本,C2 为 * 时表示每小时都要执行程式,依次类推.....

当 C1 为 T1-T2 时表示从第 T1 分钟到第 T2 分钟这段时间内要执行,C2 为 T1-T2 时表示从第 T1 到第 T2 小时都要执行,依次类推....

当 C1 为 */n 时表示每 n 分钟的时间间隔执行一次,C2 为 */n 表示每隔n小时的间隔执行一次,依次类推.....

当 C1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,C2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,依次类推....

下面列举几个例子供你们参考

1: 59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1

表示天天23点59分执行脚本/home/oracle/scripts/alert_log_archive.sh

2: */5 * * * * /home/oracle/scripts/monitoring_alert_log.sh >/dev/null 2>&1

表示每5分钟执行一次脚本/home/oracle/scripts/monitoring_alert_log.sh

3: 0 20 * * 1-5 mail -s "**********" kerry@domain.name < /tmp/maildata

周一到周五天天下午 20:00 寄一封信给 kerry@domain.name

..............................................

关于 >/dev/null 2>&1 的解释:

0表示键盘输入

1表示标准输出

2表示错误输出.

咱们首先建立test.sh脚本以下:

#! /bin/sh

echo "hello, everybody, now is " `date`

date >> test.txt

而后添加做业

* * * * * /home/oracle/test.sh >/home/oracle/log.txt & 默认值为1,即和下面命令一致

* * * * * /home/oracle/test.sh 1>/home/oracle/log.txt &

* * * * * /home/oracle/test.sh 2>/home/oracle/log.txt &

* * * * * /home/oracle/test.sh 2>/home/oracle/log.txt 2>&1 &

1,2将tesh.sh 命令输出重定向到log.txt, 即输出内容不打印到屏幕上,而是输出到log.txt文件中。若是你须要追加而不是覆盖,能够用 >>代替>

2>&1 是将错误输出重定向到标准输出。 而后将标准输入重定向到文件log.txt。

&1 表示的是文件描述1,表示标准输出,若是这里少了&就成了数字1,就表示重定向到文件1。

注意事项:

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

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

2: 尽可能全部的文件都采用彻底路径方式,避免使用相对路径。

以上这篇Linux crontab定时任务配置方法(详解)就是小编分享给你们的所有内容了,但愿能给你们一个参考,也但愿你们多多支持脚本之家。

linux下crontab allow,【Python】Linux crontab定时任务配置方法(详解)相关推荐

  1. python定时任务crontab_【Python】Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. cron 系统调度 ...

  2. Linux crontab定时任务配置方法(详解)

    id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr="> 脚本之家 服务器常 ...

  3. linux etc cron.deny,Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. cron 系统调度 ...

  4. linux系统下安装pip3,linux下安装python3和对应的pip环境教程详解

    linux下安装python3和对应的pip环境教程详解 1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译 ...

  5. linux下grep文件内容搜索工具及基本正则表达式详解

    linux下grep文件内容搜索工具及基本正则表达式详解 grep命令: 根据模式(文本字符和基本正则表达式的元字符组合而成之匹配条件)搜索文本, 并将符合模式的文本行显示出来. 格式:grep [选 ...

  6. Linux下zip格式文件的解压缩与压缩操作命令详解

    < Linux下zip格式文件的解压缩与压缩操作命令详解 > * 声明:网上找来比较凌乱,整理了一下,方便自己查看 zip格式文件的解压缩与压缩操作: 1.把/home目录下面的huaza ...

  7. (转)Linux下PS1、PS2、PS3、PS4使用详解

    Linux下PS1.PS2.PS3.PS4使用详解 原文:http://www.linuxidc.com/Linux/2016-10/136597.htm 1.PS1--默认提示符 如下所示,可以通过 ...

  8. linux中apache配置文件在哪,linux网站服务Apache的安装与配置方法详解

    这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载 ...

  9. navicat mysql 计划任务_navicat创建MySql定时任务的方法详解

    navicat创建MySql 定时任务详解 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的" ...

最新文章

  1. 《多处理器编程的艺术》读书笔记(4)--- 自旋锁(1)
  2. 移远NB-IOT BC28模块模组简介和实际应用方向详解
  3. iOS面试题 第一天
  4. Linux内核源代码分析——fork()原理多进程网络模型
  5. Java回调机制解析
  6. 【Python基础】必知必会的8个Python列表技巧
  7. Linux打tar包排除目录中的某个目录
  8. auto.js小案例
  9. Problem 25
  10. 【Docer】Docer安装MySQL并且远程登录
  11. win764位和32位有什么区别_32位、64位它们是什么关系?它们又有什么区别?
  12. nodejs创建http服务器
  13. Ant-design-vue定制主题色
  14. 简谈Java的join()方法(转)
  15. adb模拟按键home_ADB——模拟手机按键输入
  16. Codeforces-GYM101873 G Water Testing 皮克定理
  17. iOS 性能优化 -- APP启动时间
  18. 一级建造师-通信-光电缆检验
  19. Conflux DAO 社区技术委员会成立 助力生态繁荣发展
  20. Processing 案例 | 去“富士山”看樱花从树上纷纷而落

热门文章

  1. linux下svn客户端报错Cannot negotiate authentication mechanism的解决方法
  2. C++中的using namespace std的作用
  3. 前端图片压缩解决办法
  4. 王者荣耀服务器什么时候维护结束,王者荣耀维护几点结束今天?11月10日维护公告[多图]...
  5. macos可以识别U盘但看不到U盘里的文件
  6. PythonChallenge —— 4(关卡)
  7. CSS:利用浮动实现多个盒子并排
  8. 【人事】那些行为会让面试失败?
  9. 输入URL之后会执行什么流程?
  10. 曼谷 Web3 游记:数字游民天堂,世俗与割裂的“罪恶都市”