Linux运维知识之Linux中crontab定时任务不执行
小标 2018-12-21 来源 : 阅读 1714 评论 0

摘要:本文主要向大家介绍了Linux运维知识之Linux中crontab定时任务不执行,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之Linux中crontab定时任务不执行,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。


最近在linux中遇到了个crontab定时任务不执行的case,在这给大家分享一下,避免踩到我遇到的坑。


先贴脚本吧


为了方便展示,把脚本入参,都写死了


#!/usr/bin/env bash
# 1输出文件,到log 例如: bg 
# 2 目标文件目录  不带最后的/ 例如:/opt/flume/home/hdp_lbg_ectech/rawdata/xxx/web_vip_bg
# 3 执行的时候选择前几天的日志  例如:1

LAST_DAY=$(date +"%Y-%m-%d" -d "1 days ago")
LAST_HOUR_DAY=$(date +"%Y%m%d" -d "1 days ago")
#执行jar获取bg日志
 java -jar /opt/script/xxx/vipbg/vip-bg-job-1.0-SNAPSHOT-shaded.jar  /opt/script/xxx/vipbg/bg.log

#具体到文件名
SRC_FILE=/opt/script/xxx/vipbg/bg.log

#指定目标目录,按日期创建目录
DEST_DIR_NAME=/opt/flume/home/hdp_lbg_ectech/rawdata/xxx/web_vip_bg/$LAST_HOUR_DAY
DEST_FILE_NAME=$(basename $SRC_FILE)
#FLUME会忽略隐藏文件,所以可直接拷贝过去
TMP_FILE=$DEST_DIR_NAME/.$DEST_FILE_NAME
DEST_FILE=$DEST_DIR_NAME/$DEST_FILE_NAME.$SRC_IP
#判断源文件是否非空,空文件Flume会直接删除的,且目标文件不存在,避免重复拷贝数据
if [ -s "$SRC_FILE" ] && [ ! -f "$DEST_FILE" ];then
    #使Flume具有删除该目录下文件的权限,不然FLUME收集不上去
    mkdir -p $DEST_DIR_NAME && chmod 777 $DEST_DIR_NAME
    #必须先cp到一个临时文件再mv过去,直接cp过去会造成数据丢失
    cp $SRC_FILE $TMP_FILE && mv $TMP_FILE $DEST_FILE
fi
#删除tmp中转文件
rm -rf  /opt/script/xxx/vipbg/bg.log
echo "删除源文件成功"


有些目录用了xxx代表

这个脚本单独考出来可以执行,放到crontab里面就不执行了, 百度了下,大多都说需要使用绝对路径,看了下我们的脚本,就是下面这句有问题:


java -jar /opt/script/xxx/vipbg/vip-bg-job-1.0-SNAPSHOT-shaded.jar  /opt/script/xxx/vipbg/bg.log


初步判断是java这需要使用jdk的目录路径,做了两个实验测试了下。


crontab中加上一个 java -jar xxxx.jar的定时任务


代码如下:


10 16 * * *  java -jar /opt/script/xxx/vipbg/vip-bg-job-1.0-SNAPSHOT-shaded.jar  /opt/script/xxx/vipbg/bg.log


果然,这个没有执行


crontab中加上一个 jdk目录/bin/java -jar xxxx.jar的定时任务


代码如下:


20 16 * * *  /opt/soft/jdk/jdk1.6.0_45/bin/java -jar /opt/script/xxx/vipbg/vip-bg-job-1.0-SNAPSHOT-shaded.jar  /opt/script/xxx/vipbg/bg.log


这次执行了,没有执行的原因就是执行jar的时候,需要加上jdk的路径


你们是否也遇到了类似的问题,欢迎大家来交流,指出文中一些说错的地方,让我加深认识,分享自己遇到的坑,让大家一起没有bug,谢谢大家!

          


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved