zoukankan      html  css  js  c++  java
  • Linux的计划任务

    一、检查相关服务

    1、检查crond服务

    service crond status

    安装服务

    yum install vixie-cron

    2、检查crontab配置工具

    crontab -l

    安装crontab

    yum install crontabs

    二、设置计划任务

    1、查看已有的计划

    [root@localhost ~]# crontab -l
    */1 * * * * date >> /tmp/log.txt
    */1 * * * * sleep 30s; date >> /tmp/log.txt

    每一行表示一个计划。每一行的左边有5颗*表示计划执行的时间 右边是需要执行的代码。

    在crontab的配置文件中有关于5颗*的解释。

    [root@localhost ~]# cat /etc/crontab 
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    
    # 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

    从上面的解释可以看出,每条计划的最小执行时间只能设置到每分钟执行一次。那么如何设置一个每隔30s执行一次的计划呢,通过设置两条相同的计划,但是第二条会在执行的时候 sleep 30s。

    2、编辑计划

    crontab -e

    3、下面是几个简单的例子

    每分钟执行一次。

    * * * * * command

    每30分钟执行一次。

    0,30 * * * * command

    每天9到10点的第1分钟执行一次。

    1 9-10 * * * command

    每隔2天的10点的第1分钟执行一次。

    1 10 */2 * * command

    4、关于上面例子的特殊符号解释

    *:代表所有可能的值。

    ,:指定一个列表范围,例如,"1,3,5,7,9"

    -:指定一个整数范围,例如,"1-5" 表示 "1,2,3,4,5"

    /:指定时间的间隔频率,例如、"0-23/2" 表示每两小时执行一次。

    5、查看计划执行的日志

    [root@localhost ~]# cat /var/log/cron
    Sep 13 12:33:02 localhost run-parts(/etc/cron.daily)[1277]: finished logrotate

    三、注意事项

    1、command中涉及文件路径时写全局路径。

    2、系统自动执行任务调度时,是不会加载任何环境变量的。

  • 相关阅读:
    KafkaUtils.createDirectStream()参数详解
    Kafka ConsumerRecord Timestamp
    HBase简介
    KAFKA分区、生产者、消费者之间的关系
    Hive中实现SELECT TOP N的方法
    Hive数据模型之历史拉链表
    Scala模式匹配
    sqoop参数详解
    HIVE SQL产生的文件数量及参数调优
    Scala基础语法
  • 原文地址:https://www.cnblogs.com/buexplain/p/4826786.html
Copyright © 2011-2022 走看看