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)