zoukankan      html  css  js  c++  java
  • Linux系统定时任务

    Linux系统定时任务

    定义:Linux中用来定期执行命令或程序任务的一种服务或软件
    目的:为了满足周期性执行任务的需求
    分类
    1. at 已淘汰   一次性任务
    2. crond            7*24小时开机服务
    3. anocron         为非7*24小时开机的服务器准备的
    • crond服务是运行的程序,crontab命令用来设置定时规则的命令
    • crond服务是企业生产工作中常用的重要服务;上千台服务器可以使用分布式定时任务
    • 所有用户crontab配置文件默认都存放在/var/spool/cron此目录,文件名以用户名命名。
    • crontab命令操作语法:
    crontab [option] [-u user]
    参数:
      -r     删除crontab文件内容
          -e    编辑crontab文件内容
           -l     查看crontab文件内容
     
    crontab语法格式中时间段的含义表
    含义 取值范围
    第一段 代表分钟 00-59
    第二段 代表小时 00-23
    第三段 代表日期 01-31
    第四段 代表月份 01-12
    第五段 代表星期 0-7(0和7都代表星期日)
                                                                                                                              
    crontab语法格式中特殊符号的含义表
    特殊符号 含义
    * *号表示任意时间都,就是“每”的意思,举例:如00 01 * * * cmd表示每月每周每日的凌晨1点执行cmd任务。
    - 减号,表示分隔符,表示一个时间范围段,如17-19点,每小时的00分执行任务。00 17-19 * * * cmd。就是17,18,19点整点分别执行的意思。
    逗号,表示分隔时间段的意思。30 17,18,19 * * * cmd 表示每天17,18,19点的半点执行cmd。也可以和“-”结合使用,如: 30 3-5,17-19 * * * cmd。
    /n n代表数字,即”每隔n单位时间”,例如:每10分钟执行一次任务可以写 */10 * * * * cmd,其中 */10,*的范围是0-59,也可以写成0-59/10。
    书写crond定时任务注意事项
    • 为定时任务规则加必要的注释
    • 命令或程序最好写到脚本里执行
    • 执行的脚本要使用绝对路径
    • 执行shell脚本任务时前加/bin/sh
    • 定时任务结尾加 >/dev/null 2>&1
    • sh –x调试脚本
    >/dev/null 2>&1的作用
    如果定时任务规范结尾不加 >/dev/null 2>&1, 会有很多垃圾小文件存放于邮件临时队列目录,很容易导致硬盘inode空间被占满,从而系统服务不正常。
    CentOS 5中/var/spool/clientmqueue为邮件临时队列目录;centos 6系统默认装的是postfix服务,目录为/var/spool/postfix/maildrop。
     
    定时任务实例
    例1:每隔2个小时将/etc/services文件打包备份到/server/backup下。
      # cat >>services.sh<<EOF
      > cd /etc/
      > tar -zcf /server/backup/services-$(date +%F-%H).tar.gz services
      > EOF
      #crontab –e
      #services backup each 2 Hour
      00 */2 * * * /scripts/services.sh >/del/null 2>&1
    例2:每5分钟执行一次服务器时间同步
      # vim /scripts/ntp.sh
      #!/bin/sh
      /usr/sbin/ntpdate ntp1.aliyun.com
      #crontab –e
      */5 * * * * /scripts/ntp.sh >/dev/null 2>&1
    

      

     
     
     
  • 相关阅读:
    scrapy user-agent随机更换
    python框架Scrapy中crawlSpider的使用——爬取内容写进MySQL
    异步代理池2--正确实现并发
    python asyncio异步代理池
    SSH 上传下载文件
    scrapy 自定义扩展
    scrapy pipelines 以及 cookies
    scrapy 去重策略修改
    提车注意事项
    mysql 笔记
  • 原文地址:https://www.cnblogs.com/xhyan/p/6531341.html
Copyright © 2011-2022 走看看