• linux定时任务crontab介绍


    首先解释一下这个命令

    crontab -e 编辑或者创建crontab文件
    crontab -l 列出已建立定时任务

    在crontab文件中写入自己要定时运行的脚本

    [root@f14cp-kf1-03 ~]# crontab -e
    
    #定时启动kafka同步任务
    25 15 * * * /usr/hdp/2.3.2.0-2950/kafka/bin/kafka-mirror-start.sh
    #定时关闭kafka同步任务
    28 15 * * * /usr/hdp/2.3.2.0-2950/kafka/bin/kafka-mirror-stop.sh

    28 15 * * * 指代的是任务定时的时间 这里指每天的下午三点28分 后面的是要执行的shell脚本的绝对路径
    [root@f14cp-kf1-03 bin]# cat kafka-mirror-start.sh 
    if [ -f ~/.bash_profile ]; 
    then
      . ~/.bash_profile
    fi               //引入环境变量
    exec $(dirname $0)/kafka-mirror-maker.sh --consumer.config $(dirname $0)/consumer-wsm.properties --num.streams  5  --producer.config $(dirname $0)/producer-wsm.properties --num.producers 3 --queue.size 20000  --whitelist 'topic1'
    $(dirname $0)   当前环境路径
    [root@f14cp-kf1-03 bin]# cat kafka-mirror-stop.sh 
    if [ -f ~/.bash_profile ];
    then
      . ~/.bash_profile
    fi
    
    jps|grep MirrorMaker|awk '{print $1}'|xargs kill //根据jps命令的类名称MirrorMaker去杀掉指定进程

    查看crontab执行记录

    crontab的日志位置一般位于/var/log/cron

    tail -f /var/log/cron //查看日志
    [root@f14cp-kf1-03 bin]# tail -f /var/log/cron 
    Mar  4 14:01:01 f14cp-kf1-03 run-parts(/etc/cron.hourly)[16832]: finished mcelog.cron
    Mar  4 14:10:01 f14cp-kf1-03 CROND[17503]: (root) CMD (/usr/lib64/sa/sa1 1 1)
    Mar  4 14:55:52 f14cp-kf1-03 crontab[22473]: (root) BEGIN EDIT (root)
    Mar  4 14:56:01 f14cp-kf1-03 crontab[22473]: (root) REPLACE (root)
    Mar  4 14:56:01 f14cp-kf1-03 crontab[22473]: (root) END EDIT (root)
    Mar  4 14:57:01 f14cp-kf1-03 crond[1926]: (root) RELOAD (/var/spool/cron/root)
    Mar  4 14:59:07 f14cp-kf1-03 crontab[22737]: (root) BEGIN EDIT (root)
    Mar  4 14:59:12 f14cp-kf1-03 crontab[22737]: (root) END EDIT (root)
    Mar  4 15:00:01 f14cp-kf1-03 CROND[22913]: (root) CMD (/usr/hdp/2.3.2.0-2950/kafka/bin/kafka-mirror-start.sh )
    Mar  4 15:00:01 f14cp-kf1-03 CROND[22914]: (root) CMD (/usr/lib64/sa/sa1 1 1)
    Mar  4 15:01:01 f14cp-kf1-03 CROND[23192]: (root) CMD (run-parts /etc/cron.hourly)
     

    上面的/var/log/cron只会记录是否执行了某些计划的脚本,但是具体执行是否正确以及脚本执行过程中的一些信息linux会通过邮件形式发送到给该用户。
    对于root用户该邮件记录位于/var/spool/mail/root,通过以下命令可以查看最近的crontab执行情况。

    From root@f14cp-kf1-03.localdomain  Fri Mar  4 15:28:11 2016
    Return-Path: <root@f14cp-kf1-03.localdomain>
    X-Original-To: root
    Delivered-To: root@f14cp-kf1-03.localdomain
    Received: by f14cp-kf1-03.localdomain (Postfix, from userid 0)
        id 599DC439F3; Fri,  4 Mar 2016 15:28:11 +0800 (CST)
    From: root@f14cp-kf1-03.localdomain (Cron Daemon)
    To: root@f14cp-kf1-03.localdomain
    Subject: Cron <root@f14cp-kf1-03> /usr/hdp/2.3.2.0-2950/kafka/bin/kafka-mirror-start.sh 
    Content-Type: text/plain; charset=UTF-8
    Auto-Submitted: auto-generated
    X-Cron-Env: <LANG=en_US.UTF-8>
    X-Cron-Env: <SHELL=/bin/sh>
    X-Cron-Env: <HOME=/root>
    X-Cron-Env: <PATH=/usr/bin:/bin>
    X-Cron-Env: <LOGNAME=root>
    X-Cron-Env: <USER=root>
    Message-Id: <20160304072811.599DC439F3@f14cp-kf1-03.localdomain>
    Date: Fri,  4 Mar 2016 15:25:02 +0800 (CST)
  • 相关阅读:
    Java第三次作业第四题
    Java第三次作业第三题
    Java第三次作业第二题
    Java第三次作业第一题
    具有注册、登陆以及后台管理功能的web开发
    KMP算法
    二叉排序树-插入算法
    算法刷题-1-单链表操作
    最牛X的编码套路
    day03 高级模块
  • 原文地址:https://www.cnblogs.com/ygwx/p/5242441.html
Copyright © 2020-2023  润新知