zoukankan      html  css  js  c++  java
  • Linux的学习--crontab

    之前了解过一点crontab,前段时间比较闲,就熟悉了一下,今天总结记录一下。

    crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。

    什么时候需要用到crontab呢?如下就是几个很好的应用场景

    • 每分钟需要执行一个程序检查系统运行状态
    • 每天凌晨需要对过去一天的业务数据进行统计
    • 每个星期需要把日志文件备份
    • 每个月需要把数据库进行备份

    安装crontab

    在ubuntu系统中的安装如下:

    sudo apt-get install cron

    时间设置

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

    注:

    1. 在“星期域”(第五个域),0和7都被视为星期日。
    2. 不很直观的用法:如果日期和星期同时被设定,那么其中的一个条件被满足时,指令便会被执行。
    3. 前5个域称之分时日月周,可方便个人记忆。

    从第六个域起,指明要执行的命令。

    crontab命令

        crontab [ -u user ] [ -i ] { -e | -l | -r }
            (default operation is replace, per 1003.2)
        -e    (edit user's crontab)
        -l    (list user's crontab)
        -r    (delete user's crontab)
        -i    (prompt before deleting user's crontab)

    crontab例子

    每晚21:30重启nginx

      30 21 * * * service nginx restart

    每月1, 10, 22日的4:45重启nginx

      45 4 1,10,22 * * service nginx restart

    每月1到10日4:45重启nginx

      45 4 1-10 * * service nginx restart

    每隔2分钟重启nginx服务器

      */2 * * * * service nginx restart

      1-59/2 * * * * service nginx restart

    晚上11点到早上7点之间,每隔一小时重启nginx

      0 23-7/1 * * * service nginx restart

    每天18:00到23:00之间每隔30分钟重启nginx

      0,30 18-23 * * * service nginx restart

      0-59/30 18-23 * * * service nginx restart

    小结

    • *表示任何时候到匹配
    • 可以用"A,B,C"表示A或者B或者C时执行命令
    • 可以用"A-B"表示A到B之间时执行命令
    • 可以用"*/A"表示每A分钟(小时等)执行一次命令
  • 相关阅读:
    Modernizr.js:为HTML5和CSS3而生!
    liunx 安装 phpstudy
    php 实现无限极分类
    网站邮箱端口
    android studio svn 创建分支
    卡在 构建 gradle 项目信息
    android 地图
    IllegalArgumentException: Unmatched braces in the pattern.
    软件设置开机启动
    输入网络凭据
  • 原文地址:https://www.cnblogs.com/CraryPrimitiveMan/p/4124851.html
Copyright © 2011-2022 走看看