• Linux定时任务Crontab


    crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常是/etc/crontab,而这个文件只能由系统管理员修改。
    /etc/crontab文件中前三行:

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    

    第一行SHELL变量指定了系统要使用哪个shell,这里是bash。
    第二行PATH变量制定了系统执行命令的路径。
    第三行MAILTO变量制定了crond的任务执行信息将通过邮件发送给root用户, 如果该变量为空,则表示不发送任务执行信息给用户。

    crontab命令

    crontab [-u user] [-l| -r| -e] [-i]
    -l: 列出当前用户的计划任务
    -e: 编辑当前用户的计划任务
    -r: 删除当前用户的所有计划任务。即删除/var/spool/cron/USERNAME文件
    -u: 管理制定用户的计划文件,仅root有权限
    -i: 在使用-r选项删除所有任务时提示用户确认。
    

    crontab -e创建的计划任务会默认放在/var/spool/cron/目录下以用户名命名的文件中。

    crontab语法

    .---------------- 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
    
    在以上各个字段中,还可以使用以下特殊字符:
    星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
    逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
    中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
    正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。指定的时间点不能被步长整除时,其意义将不存在。例如 */7 * * * *
    
    注意:
    a.每行定义一个周期性任务,共7个字段。user-name默认当前用户
    b.执行计划任务的环境变量不同于用户登录后获得的环境,因此建议命令使用绝对路径
    c.执行结果会发送邮件给mailto指定的当前用户
    

    示例:

    */5 * * * *         每5分钟执行一次
    3 * * * *           每小时的第3分钟执行一次
    3 4 * * 5           每周5的4点3分执行一次
    5 6 7 * *           每月的7号的6点5分执行一次
    7 8 9 10 *          每年的10月9号8点7分执行一次
    9 8 * * 3,7         每周3和周日的8点9分
    0 8,20 * * 3,7      每周3和周日的8点和20点执行一次
    0 9-18 * * 1-5      周一到周五的9-18点,即工作时间内的每小时
    0 7 25 12 *         每年的12月25号7点执行一次
    
  • 相关阅读:
    抽签问题及优化
    P1020
    p1852ants
    1,三角形
    TG3
    如何看懂一篇题解
    Unsupported major.minor version 51.0 错误解决方案
    weblogic初学笔记2-在Linux上部署项目
    一块移动硬盘怎样兼容Mac和Windows系统,并且可以在time machine上使用
    org.hibernate.HibernateException: connnection proxy not usable after transaction completion
  • 原文地址:https://www.cnblogs.com/thunderLL/p/9470336.html
Copyright © 2020-2023  润新知