zoukankan      html  css  js  c++  java
  • Crontab设置定时任务

    Crontab文件格式

    • 文件格式:
    minute    hour    day    month    weekday    username     command
    
    • 格式解析
    字段 描述
    minute 分,值为0-59
    hour 小时,值为1-23
    day 天,值为1-31
    month 月,值为1-12
    weekday 星期,值为0-6(0代表星期天,1代表星期一,以此类推)
    username 要执行程序的用户,一般设置为root
    command 要执行的程序路径(设置为绝对路径)例如:/home/www.osyunwei.com/osyunwei.sh
    • 解析图片

    • 符号定义:
      星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
      逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
      中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
      正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。


    crond简介

    • 系统脚本(脚本位于/etc/crontab)
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=""
    HOME=/
    # run-parts
    51 * * * * root run-parts /etc/cron.hourly
    24 7 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly
    
    • 解释:
    • 第一行SHELL变量指定了系统要使用哪个shell,这里是bash。
    • 第二行PATH变量指定了系统执行命令的路径。
    • 第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户。
    • 第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。
    • 用户任务调度:
    • 用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。
    • 用户可以使用 crontab 工具来定制自己的计划任务。
    • 所有用户定义的crontab文件都被保存在 /var/spool/cron目录中。
    • 其文件名与用户名一致。

    检查及安装

    • 检查cron服务
    # 检查crontab工具是否安装
    crontab -l
    # 检查cond服务是否启动
    /sbin/service crond status
    
    • 安装cron
    yum install vixie-cron
    yum install crontabs
    

    为当前用户创建cron服务

    • 键入crontab -e编辑crontab服务文件

    • 查看该用户下的crontab服务是否创建成功, 用 crontab -l 命令

    • 启动crontab服务:
      一般启动服务用 /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond start, 这里还是要注意 下 不同版本linux系统启动的服务的命令也不同 ,像我的虚拟机里只需用 sudo service cron restart 即可,若是在根用下直接键入service cron start就能启动服务

    • 查看服务是否运行:ps -ax | grep cron

    • crontab命令

    cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明
    crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
    crontab -l //列出某个用户cron服务的详细内容
    crontab -r //删除某个用户的cron服务
    crontab -e //编辑某个用户的cron服务
    比如说root查看自己的cron设置:crontab -u root -l
    再例如,root想删除fred的cron设置:crontab -u fred -r
    在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
    进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
    crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
  • 相关阅读:
    Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
    用户画像——“打标签”
    python replace函数替换无效问题
    python向mysql插入数据一直报TypeError: must be real number,not str
    《亿级用户下的新浪微博平台架构》读后感
    【2-10】标准 2 维表问题
    【2-8】集合划分问题(给定要分成几个集合)
    【2-7】集合划分问题
    【2-6】排列的字典序问题
    【2-5】有重复元素的排列问题
  • 原文地址:https://www.cnblogs.com/milkcoffeesugar/p/5734112.html
Copyright © 2011-2022 走看看