• 记一次crontab定时任务遇到的问题


     

    # For details see man 4 crontabs

    # Example of job definition:
    # .---------------- 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
    * * * * 0 root /data/xxx_backup_mysql.sh >/dev/null 2>&1  代表一天都执行     

    应该为一次加上时或者分,不能犯低级错误

    1、下面的计划任务会一直运行
            * * * * * [command]

     

       2、下面的计划任务会在每个小时的0分时运行(就是每小时执行一次)
            0 * * * * [command]

     

       3、下面依旧是一个每小时运行一次的计划任务。不过是在每个小时的一刻钟时运行的(1:15,2:15.。。)
           15 * * * * [command]

     

       4、下面的计划任务每天执行一次,在2:30分
            30 2 * * * [command]

     

       5、下面的计划任务是在每个月2号的午夜执行(比如:2010年2月2日00:00)
            0 0 2 * * [command]

     

       6、下面的计划任务会在每周一的每个小时0分钟时执行一次
            0 * * * 1 [command]

     

       7、下面的会每小时运行3次,在0分,10分,和20分时
            0,10,20 * * * * [command]

     

       8、下面是用除号“/”表示每多少运行一次。

     

            */5 * * * * [command]    每5分钟运行一次

     

            00 */2 * * * [command]    每2小时运行一次 (* */2 * * * [command]  这种写法是错误的!)

     

        */1 * * * * root wget -O /var/log/cron.txt http://www.592.net/test.php    每分钟访问网站某PHP脚本一次,检查是否每分钟自动运行了PHP,可以查看 var/log/cron.txt文件,看下是否有网站PHP返回的内容就可以了!

     

       9、还可以用“-”表示一个范围,如下表示5到10点的每个整点运行一次
            0 5-10 * * * [command]

    30 12 * * * command:   <em>每天12:30执行command</em>
    0 6,12 15 * * command:<em>每月15日的6:00和12:00执行command</em>
    10 8 1-15 6 * command:<em>每年6月1至15日的8:10执行command</em>
    */5 * * * 7 command:   <em>星期日每隔五分钟执行一次command</em>

     

       10、另外还有一个特殊的时间关键字“@reboot”,就是每次重启服务器时运行计划任务
            @reboot [command]

     

     

    编写定时任务信息说明

    编写定时任务方法:crontab -e

    crontab -e编写定时任务作用

    1.可以检查定时任务编写语法是否有误

    2.crontab命令简单,方便记忆

    系统定时任务编辑样板文件:/etc/crontab

    Copy
    # Example of job definition:
    # .---------------- 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
    

    编写定时任务格式

    *** * * * * 具体执行的操作**

    第一个星号表示:每分钟做什么操作

    第二个星号表示:每小时做什么操作,按照24小时制时间计算

    第三个星号表示:每月第几号做什么操作。

    第四个星号表示:第哪个月做什么操作,按照1-12月

    第五个星号表示:每星期几做什么操作,按照外国的0-6,星期日为0,星期一为1,星期六为6

    1.按照数值表示时间信息

    00 02 * * * 备份数据 说明:表示每天的凌晨2点整备份数据

    2.按照特殊符号表示时间信息

    * * * * * 备份数据 说明:表示全天每分钟进行进行备份 PS:定时任务最短执行时间是每分钟

    */5 */5 * * * 备份数据 说明:每隔5小时的每5分钟备份数据

    3.定义连续时间内连续备份数据

    01-03 02 * * * 备份数据 说明:表示每天的凌晨2点01分到2点03分连续备份数据(3次)

    4.指定不连续时间备份数据

    00 14,20 * * * 备份数据 说明:逗号表示每天的14点和20点备份数据

    编写定时任务格式总结

    1.在编写时间信息的时候,如果想表示每隔什么时间执行任务,建议:/上面尽量使用*表示,不要写具体数值

    2.编写时间信息尽量从左到右依次书写

    3.编写定时任务,日期信息不要和星期信息同属出现

    3.实际的编写定时任务

    需求:每隔2分钟把/xuan/xuan.txt文件数据备份到/date目录下

     

    如果你只想看看,不需要编辑,可以使用以下的命令
    crontab -l

     

    要删除crontab的内容,就是删除所有的计划任务,可以这样:
    crontab -r

     

     

        cron是个linux下的定时执行工具,能在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但他不自动起来,能用以下的方法启动、关闭这个服务:

     


    编辑/etc/crontab 文件配置cron

     

      cron服务每分钟不仅要读一次 /var/spool/cron 内的所有文件,还需要读一次 /etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是: 
      SHELL=/bin/bash 
      PATH=/sbin:/bin:/usr/sbin:/usr/bin 
      MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 
      HOME=/ //使用者运行的路径,这里是根目录 
      # run-parts 
      01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本 
      02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本 
      22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本 
      42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

     

      大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

     


    重启命令:
    Debian
        /etc/init.d/cron restart

     

    Linux
        /etc/rc.d/init.d/crond restart

     

     

    #每隔1个小时执行一次 ls

     

    0 */1 * * * ls 

     

     

     

    #每隔2个小时执行一次 ls 

     

    0 */2 * * * ls 

     

     

     

    #每隔3个小时执行一次 ls 

     

    0 */3 * * * ls 

     

     

     

    #每隔4个小时执行一次 ls 

     

    0 */4 * * * ls

     

      

     

    #每隔10天执行一次 ls 

     

    0 0 */10 * * ls

     

     

    #每天1点执行 ls 

     

    0 1 * * * ls

     

    1.编写口诀:什么时间做什么,然后再想下一次什么时候执行 什么时间,做什么事情

    定时任务书写例子

    每天的上午8点30分,来学校上车(go to school) 30 08 * * * go to school

    每天晚上12点准时,回家自己上床(go to bed) 00 12 * * * go to bed

  • 相关阅读:
    electron 安装失败解决办法
    面向 B 端的产品经理
    如何学习一门新语言或框架
    斑马为什么有条纹?
    沃伦·巴菲特 | 成功的 10/10/10 法则
    如果想进入一家大公司面试,你会怎么做?
    人工智能缺陷与误觉:让机器产生幻觉的「怪异事件」
    20 世纪 70 年代的太空殖民艺术
    如何实现SSH断开后 进程仍然在后台运行
    让Linux关闭终端(关闭SSH等)后,程序继续运行
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/15974733.html
Copyright © 2020-2023  润新知