精华内容
下载资源
问答
  • Crontab定时任务配置

    2015-06-18 09:48:00
    Crontab定时任务配置 1、登录到root用户。 2、在root下输入:crontab -e 3、可能会提示你: no crontab for root - using an empty one 然后会叫你“Select a editor ......”下面有几...

    1、登录到root用户。

     

    2、在root下输入:crontab -e

     

    3、可能会提示你:

     

         no crontab for root - using an empty one

     

         然后会叫你“Select a editor ......”下面有几个选项,就是叫你选择编辑器。(选vim.tiny)

     

         或直接进入编辑页面。

     

    4、进入crontab编辑页面之后就直接"shift+:",然后输入wq保存即可。然后一个新的crontab就生成了!

     

     

    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表示星期一、以此类推)

    第六列 要运行的命令

    我们暂且用C1、C2、C3、C4、C5、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: 尽量所有的文件都采用完全路径方式,避免使用相对路径。

    posted on 2015-06-18 09:48 林中侠客 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/luojianqun/p/4585035.html

    展开全文
  • crontab定时任务配置

    2019-07-14 11:55:00
    一、CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。 cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段...

    一、CRONTAB概念/介绍

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

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

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

    [root@localhost cron]# 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

    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

     1 CRONTAB(1)                                                          CRONTAB(1)
     2 
     3 
     4 
     5 NAME
     6        crontab - maintain crontab files for individual users (ISC Cron V4.1)
     7 
     8 SYNOPSIS
     9        crontab [-u user] file
    10        crontab [-u user] [-l | -r | -e] [-i] [-s]
    11 
    12 DESCRIPTION
    13        Crontab  is  the  program used to install, deinstall or list the tables
    14        used to drive the cron(8) daemon in ISC Cron.  Each user can have their
    15        own  crontab,  and though these are files in /var/spool/ , they are not
    16        intended to be edited directly. For SELinux in mls  mode  can  be  even
    17        more crontabs - for each range. For more see selinux(8).
    18 
    19        If the cron.allow file exists, then you must be listed therein in order
    20        to be allowed to use this command.  If the  cron.allow  file  does  not
    21        exist but the cron.deny file does exist, then you must not be listed in
    22        the cron.deny file in order to use this command.  If neither  of  these
    23        files  exists, only the super user will be allowed to use this command.
    24 
    25 
    26 OPTIONS
    27        -u     It specifies the name  of  the  user  whose  crontab  is  to  be
    28               tweaked.   If  this option is not given, crontab examines "your"
    29               crontab, i.e., the crontab of the person executing the  command.
    30               Note  that su(8) can confuse crontab and that if you are running
    31               inside of su(8) you should always use the -u option for safety’s
    32               sake.   The  first form of this command is used to install a new
    33               crontab from some named file or standard input  if  the  pseudo-
    34               filename "-" is given.
    35 
    36        -l     The current crontab will be displayed on standard output.
    37 
    38        -r     The current crontab will be removed.
    39 
    40        -e     This option is used to edit the current crontab using the editor
    41               specified by the VISUAL or EDITOR environment variables.   After
    42               you exit from the editor, the modified crontab will be installed
    43               automatically.
    44 
    45        -i     This option modifies the -r option to  prompt  the  user  for  a
    46               ’y/Y’ response before actually removing the crontab.
    47 
    48        -s     It will append the current SELinux security context string as an
    49               MLS_LEVEL setting to the crontab file before editing /  replace-
    50               ment  occurs - see the documentation of MLS_LEVEL in crontab(5).
    51 
    52 SEE ALSO
    53        crontab(5), cron(8)
    54 
    55 FILES
    56        /etc/cron.allow
    57        /etc/cron.deny
    58 
    59 STANDARDS
    60        The crontab command conforms to IEEE Std1003.2-1992 (‘‘POSIX’’).   This
    61        new  command  syntax  differs  from previous versions of Vixie Cron, as
    62        well as from the classic SVR3 syntax.
    63 
    64 DIAGNOSTICS
    65        A fairly informative usage message appears if you run  it  with  a  bad
    66        command line.
    67 
    68 AUTHOR
    69        Paul Vixie <vixie@isc.org>
    70 
    71 
    72 
    73 4th Berkeley Distribution       16 Januar 2007                      CRONTAB(1)
    View Code

     

     

    三、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表示星期一、以此类推)

    第六列 要运行的命令

    我们暂且用C1、C2、C3、C4、C5、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: 尽量所有的文件都采用完全路径方式,避免使用相对路径。

    四、参考资料

    http://www.cnblogs.com/kerrycode/p/3238346.html

     

    转载于:https://www.cnblogs.com/z-sm/p/5823787.html

    展开全文
  • crontab 定时任务配置

    2017-09-04 09:39:00
    2019独角兽企业重金招聘Python工程师标准>>> ...

    //mark

    转载于:https://my.oschina.net/sunyouling/blog/1528403

    展开全文
  • 下面小编就为大家带来一篇Linux crontab定时任务配置方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Crontab定时任务配置  最近用flask 写一个小工具,需要端口一直可以稳定的支持访问,奈何环境用的人太多,老有人误删除进程,于是想用crontab 实现一个守护进程,可以定时检测需要的进程是否存在,不存在重新启动...

    Crontab定时任务配置

     最近用flask 写一个小工具,需要端口一直可以稳定的支持访问,奈何环境用的人太多,老有人误删除进程,于是想用crontab 实现一个守护进程,可以定时检测需要的进程是否存在,不存在重新启动flask.app,保证前台随时可以访问,找了些资料,当笔记整理一下……

    一、Crontab的基本用法

    1. CRONTAB概念/介绍

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

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

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

    [root@localhost cron]# 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
    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
    

    3. cron.deny 与 cron.allow文件

    • /etc/cron.deny 表示不能使用crontab 命令的用户
    • /etc/cron.allow 表示能使用crontab的用户。
    • 默认情况下,cron.allow文件不存在。如果两个文件同时存在,那么/etc/cron.allow 优先。如果两个文件都不存在,那么只有超级用户可以安排作业。
      4. 一般情况下 contab 的格式
      如下所示,一般crontab文件里面的定时任务格式如下所示:
    59 23 * * * /home/scripts/alert_log_archive.sh >/dev/null 2>&1
    "crontab 文件中每个条目中各个域的意义和格式:
    第一列 分钟: 1——59
    第二列 小时: 1——23(0表示子夜)
    第三列 日 : 1——31
    第四列 月 : 1——12
    第五列 星期: 星期0——6(0表示星期天,1表示星期一、以此类推)
    第六列 要运行的命令
    "
    # 常用示例
    * */8 * * * command                     # 每隔8小时执行一次命令
    5 * * * * Command                       # 每小时的第5分钟执行一次命令
    30 18 * * * Command                     # 指定每天下午的 6:30 执行一次命令 
    30 7 8 * * Command                      # 指定每月8号的7:30分执行一次命令 
    30 5 8 6 * Command                      # 指定每年的6月8日5:30执行一次命令 
    30 6 * * 0 Command                      # 指定每星期日的6:30执行一次命令
    

    二、CRONTAB语法及应用

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

    [oracle@localhost ~]$ crontab -l
    
    * 8 * * * /home/oracle/test.sh >/dev/null 2>&1
    

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

    [oracle@localhost ~]$ crontab -e
    

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

    [root@localhost ~] crontab -r
    [root@localhost ~] crontab -l
    # root用户可以通过添加-u [user]字段删除其他用户的定时任务
    
    # >>> no crontab for root
    

    【PS】关于自动任务末尾 >/dev/null 2>&1 的解释:

    • 0表示键盘输入
    • 1表示标准输出
    • 2表示错误输出.
    • 1,2将test.sh 命令输出重定向到log.txt, 即输出内容不打印到屏幕上,而是输出到log.txt文件中。如果你需要追加而不是覆盖,可以用 >>代替>
    • 2>&1 是将错误输出重定向到标准输出。 然后将标准输入重定向到文件log.txt。
    • &1 表示的是文件描述1,表示标准输出,如果这里少了&就成了数字1,就表示重定向到文件1。
    * * * * * /home/oracle/test.sh >/home/oracle/log.txt &
    * * * * * /home/oracle/test.sh 1>/home/oracle/log.txt & # 将标准输出重定向到log.txt中
    * * * * * /home/oracle/test.sh 2>/home/oracle/log.txt & # 将错误输出重定向到log.txt中
    * * * * * /home/oracle/test.sh 2>/home/oracle/log.txt 2>&1 & # 将错误输出重定向到标准输出。 然后将标准输入重定向到文件log.txt
    
    展开全文
  • Linux下的crontab定时任务配置和启动,安装查看,添加,执行。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,854
精华内容 741
关键字:

crontab定时任务配置