zoukankan      html  css  js  c++  java
  • Crontab小记

    介绍
    crontab用来设置周期性被cron这个守护进程执行的指令的命令。
    参数有

    -l 列出当前用户的所用计划任务
    -e 编辑当前用户的计划任务
    -r 删除当前用户的计划任务
    -u 指定一个用户

    运行crontab -e会看到一个被注释了的简短教程
    这个文件里面的每一行对应一个任务,格式是

    # 文件格式说明
    # ——分钟 (0 - 59)
    # | ——小时 (0 - 23)
    # | | ——日 (1 - 31)
    # | | | ——月 (1 - 12)
    # | | | | ——星期 (0 - 7)(星期日=0或7)
    # | | | | |
    # * * * * * 被执行的命令

    注:如果日期和星期同时被设定,那么其中的一个条件被满足时,指令便会被执行。

    时间格式

    *: 表示任何时刻
    ,: 表示分割
    -:表示一个段,如第二端里: 1-5,就表示1到5点
    /n : 表示每个n的单位执行一次,如第二段里,*/3, 就表示每隔4个小时执行一次命令。也可以写成1-23/3.

    注意事项
    crontab中的命令执行的时候环境参数跟在shell中执行时是不一样的(可以打印env对比一下),所有经常对变量有要求的一些命令执行的时候可能有错误,这时候可以手动的设置这边变量的值:

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin
    HOME=/
    
    01 * * * * cmd__

    我遇到的情况是ruby的脚本无法执行,看了下是ruby的环境参数都没有带上,通过

    /usr/bin/bash -c -l "cmd…"


    解决了问题,上面的命令是指定shell,带入当前用户的环境变量,来执行cmd语句

    还有一个工具帮你正确生成crontab的语句,whenever 

    技巧
    通过设置5个段都是*可以立即执行后面的任务,从而快速测试任务命令是否有写正确


    参考:http://zh.wikipedia.org/wiki/Cron

  • 相关阅读:
    Cheap Kangaroo(求多个数的最大公约数)
    poj 1094 Sorting It All Out(拓扑排序)
    hdu 5695 Gym Class(拓扑排序)
    Cyclic Components (并查集)
    GCD LCM
    And Then There Was One (约瑟夫环变形)
    System Overload(约瑟夫环变形)
    POJ-1639 Picnic Planning 度数限制最小生成树
    Educational Codeforces Round 60 (Rated for Div. 2) E. Decypher the String
    (ACM模板)二分查找
  • 原文地址:https://www.cnblogs.com/v2m_/p/3109523.html
Copyright © 2011-2022 走看看