美文网首页
CRONTAB(计划任务)

CRONTAB(计划任务)

作者: 銭兎孑 | 来源:发表于2017-05-22 16:31 被阅读15次
被周期性执行的任务我们称为cron  job
周期性执行的任务列表我们称为 cron table

          安装并检查 Crontab服务
检查cron 服务
    检查Crontab工具是否安装 crontab -l
    检查Crond 服务是否启动 service crond status
    /bin/systemctl start crond.service 启动

安装cron 
    yum install vixie-cron
    yum install crontabs

crontab -e 
  */1 * * * * date>>/tmp/log.txt 设定一个一分钟写入一次的定时任务
 
tail -f /tmp/log.txt 查看文件 持续监听文件变化

              Crontab 配置文件格式
   
    *   *    *   *   *   COMMAND
    |    |    |    |   |    
    |    |    |    |   --   星期 0-7 (0或7表示星期天)
    |    |    |    ------  月份 1-12
    |    |    ----------  日期 1-31  
    |    --------------  小时 0-23
    ------------------  分钟 0-59
  
    例:
      每晚21:30 重启apache
        30 21 * * * service httpd restart
      
      每月1、10、21日的4:45重启apache
        45 4 1,10,21 * * service httpd restart
      
      每月 1到10日的4:45 重启 apache 
        45 4 1-10 * * service httpd restart
      
      每隔2分钟重启apache
        (偶数)  */2 * * * * service httpd restart
        (基数)  1-59/2 * * * * service httpd restart
      
      晚上11点到早上7点之间,每隔一小时重启apache
        0 23-7/1 * * * service httpd restart
      
      每天18:00 至 23:00 之间每隔30分钟重启apache
        0,30 18-23 * * * service httpd restart
        0-59/30 18-23 * * * service httpd restart

    小结:
         * 代表任何时候都匹配
         可以使用“A,B,C”表示A或者B或者C时执行命令
         可以用“A-B”表示A到B之间执行命令
         可以用“*/A” 表示A分钟(小时等)执行一次命令

      crontab -e 修改当前用户的计划任务(创建)
      crontab -e -u cdd 修改某用户的计划任务(创建)
      crontab -l 查看当前用户的计划任务列表
      crontab -lu cdd 查看某用户的计划任务列表

      tail -f /var/log/cron 查看计划任务执行过程

                  Crontab配置文件
       
    /etc/crontab     全局(系统) 配置文件
   crontab - e = vi /var/spool/cron/用户名

在/etc/cron.d/ 下编写定时任务,会正常执行,但是查看用户时,无法查看到这条记录

                  Crontab的日志
    /var/log/cron  文件保存这cron的任务执行记录
    /var/spool/mail/root 下保存着执行任务的记录

                  Crontab常见错误
     1. 环境变量
      在~下.bash_profile 中设置的环境变量不能再计划任务中生效
     2. 第三个和第五个域之间执行的是“或”操作
          例:四月的第一个星期日早晨1时59分运行a.sh
          59 1 1-7 4 0 /root/a.sh   (错误例子)
          57 1 1-7 4 * test `date+\%w` -eq 0 && /root/a.sh
          date + %w 当前周几
          test `date+\%w` 把周几的执行结果存入test
         && 左侧执行正确右侧才执行
      3. 命令行中双引号中使用%时,未加反斜线\

      4. 分钟设置错误
          两个小时执行一次
        * 0,2,4,6,8,10,12,14,16,18,20,22 * * * date (错误例子)
        0 */2 * * * date 
   
   echo $? 输出上次执行结果 0成功  1失败
  
      半分钟执行一次
      */1 * * * * date>> tmp/date.log
      */1 * * * * sleep30;date>> tmp/date.log
      

相关文章

  • linux|计划任务

    计划任务分类 at 一次性计划任务 查看任务 crontab 周期性任务 crontab:如何使用crontab ...

  • Linux开始PHP 计划任务

    1、查看本服务器上的计划任务命令:crontab -l 2、编辑计划任务命令:crontab -e * * * *...

  • Linux基础

    计划任务crontab 选项 语法

  • linux 提权-Crontab提权

    前言 记录一下linux提权系列的Crontab计划任务提权的学习过程。 crontab 命令 crontab命令...

  • Linux计划任务crontab

    计划任务 crontab 命令的使用 设置计划任务的格式 * 表示所有时间*/n 表示...

  • Linux如何使用crontab命令

    计划任务 定时执行 crontab -l 查看当前计划任务tail -n100 /var/log/cron 查看计...

  • linux提权入门

    一、crontab提权 linux系统中可以使用crontab -e命令创建计划任务,/var/spool/cro...

  • 4-13-3 Linux中的计划作业 --- crontab-e

    crontab-e 和 /etc/crontab 都能实现计划任务。它们之间存在一定的区别。 一、级别不同: ①、...

  • Linux 计划任务(crontab)

    Linux 计划任务(crontab) 介绍 crontab 是让系统在特定的时间去执行某项任务 系统允许个人用户...

  • Linux计划任务

    计划任务 两种方式实现计划任务,crontab和at at可以仅执行一次就结束 crontabcrond命令定期检...

网友评论

      本文标题:CRONTAB(计划任务)

      本文链接:https://www.haomeiwen.com/subject/oeabxxtx.html