[Shell] 定时任务脚本--反刷日任务/小时任务脚本模板--贴过去跑不起来你来打我--亲测完美建议收藏!~

当任务要在调度平台上定时执行

而且靠shell脚本来实现启动时 就可以往下看了

在此整理了一下日任务小时任务的shell脚本带反刷数据功能的 模板

希望能帮到大家
在这里插入图片描述

日任务+反刷日任务

# !/bin/bash
# XX数据XXXX每日任务脚本
# 创建时间:2020年5月29日15:05:44
# 创建人:鹜 骜 
# shell脚本输入参数:
# $1 开始时间 格式 yyyyMMdd
# $2 结束时间 格式 yyyyMMdd

# 这里解释一下$3 调度平台有的执行任务会加日志级别等别的参数在后面即是$3
if [ "$3" != "" ] || [ "$1" = "" ]; then
echo '=================开始执XXXX脚本================='

# 具体执行步骤(这里写自己步骤啊!)

#如果开始日期小于等于结束日期,则执行数据补刷脚本
elif [ $1 -le $2 ]; then
#获取当前日期及时间
current_date=`date +%Y%m%d`
#判断结束日期是否小于等于当前日期
if [ $2 -le $current_date ]; then
#获取输入的开始时间及结束时间参数
#开始时间
startTime=`date "+%Y%m%d" -d "$1"`
#结束时间
endTime=`date "+%Y%m%d" -d "$2"`
#如果开始时间小于等于结束时间,开始循环执行脚本
while [ `date -d "$startTime" +%s` -le `date -d "$endTime" +%s` ]
do
echo '=================开始执行XXXX反刷脚本=================''  目前反刷时间:'$startTime

# 具体执行步骤 (这里写自己步骤啊!)

if [ `date -d "$startTime" +%s` -gt `date -d "$endTime" +%s` ]; then
  break;
fi
#获取下一个日时间
startTime=`date -d "-1 day ago ${startTime}" "+%Y%m%d" `
done
#结束日期不能大于当前日期异常提示
else
echo '结束日期不能大于当前日期!'
fi
#开始日期不能大于结束日期异常提示!
else
echo '开始日期不能大于结束日期!'
fi

正常执行:
在这里插入图片描述

带开始时间 结束时间的反刷数据执行:

在这里插入图片描述

小时任务+反刷小时任务

# !/bin/bash
# XX数据XXXX每日任务脚本
# 创建时间:2020年5月29日15:05:44
# 创建人:鹜 骜 
# shell脚本输入参数:
# $1 开始时间 格式 yyyyMMdd
# $2 结束时间 格式 yyyyMMdd

if [ "$3" != "" ] || [ "$1" = "" ]; then
echo '=================开始执XXXX脚本================='

# 具体执行步骤 (这里写自己步骤啊!)

#如果开始日期小于等于结束日期,则执行数据补刷脚本
elif [ $1 -le $2 ]; then
#获取当前日期及时间
current_date=`date +%Y%m%d`
#判断结束日期是否小于等于当前日期
if [ $2 -le $current_date ]; then
#获取输入的开始时间及结束时间参数
#开始时间
startTime=`date "+%Y%m%d" -d "$1"`
#结束时间
endTime=`date "+%Y%m%d" -d "$2"`
#如果开始时间小于等于结束时间,开始循环执行脚本
while [ `date -d "$startTime" +%s` -le `date -d "$endTime" +%s` ]
do
echo '=================开始执行XXXX反刷脚本=================''  目前反刷时间:'$startTime
for (( i=0; i<24 ; i=i+1 ))
do
echo '================== "`date -d "$startTime" +%Y%m%d`" day "$i" HH =================='

# 具体执行步骤 (这里写自己步骤啊!)

done
if [ `date -d "$startTime" +%s` -gt `date -d "$endTime" +%s` ]; then
  break;
fi
#获取下一个日时间
startTime=`date -d "-1 day ago ${startTime}" "+%Y%m%d" `
done
#结束日期不能大于当前日期异常提示
else
echo '结束日期不能大于当前日期!'
fi
#开始日期不能大于结束日期异常提示!
else
echo '开始日期不能大于结束日期!'
fi

在这里插入图片描述

【kettle】

shell脚本开头定义出kettle的路径和job存放的路径

kettlePath='/opt/pdi5.4'
jobPath='/data/etl/job'

具体执行就可以写

$kettlePath/kitchen.sh -file $jobPath/jobDemo.kjb

通过输入$1 $2两个参数就可以循环执行开始时间到结束时间次数的sh

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值