脚本存放位置:/opt/kettle/script
[root@cm01 script]# vim startkjb.sh
① 调用job脚本:
#!/bin/bash
cmd="sh /opt/kettle/data-integration/kitchen.sh"
rep="-rep=kettlelib195"
user="-user=xxxx"
pass="-pass=xxx"
dir="-dir=kjb"
job="-job=$1" # 这里的 $1 表示第一个参数(即传入的 test 参数)
level="-level=Basic"
if [ -n "$2" ]; then
dir="-dir=$2"
fi
command="$cmd $rep $user $pass $dir $job $level"
eval $command
执行:
/opt/kettle/script/startkjb.sh sf_wopd kjb/sf
②版本迭代,新增一个参数data,这个参数是日期字段,可灵活更新还是删除那个月/天数据
#!/bin/bash
cmd="sh /opt/kettle/data-integration/kitchen.sh"
rep="-rep=kettlelib195"
user="-user=kettleauto188"
pass="-pass=auto@188"
dir="-dir=kjb"
job="-job=$1" # 第一个参数是作业名称
level="-level=Basic"
today=$(date +"%Y-%m-%d")
# 检查是否有第三个参数(data值)
if [ -n "$3" ]; then
data_param="-param:data=$3"
else
data_param="-param:data=$today"
fi
# 检查是否有第二个参数来覆盖默认目录
if [ -n "$2" ]; then
dir="-dir=$2"
fi
# 构建完整的命令
command="$cmd $rep $user $pass $dir $job $level $data_param"
# 执行命令
eval $command
执行
/opt/kettle/script/startkjb_para.sh test_tmp2 ktr/delete 2024-07-01