shell脚本执行kettle任务脚本

#!/bin/bash

export SHELL_HOME_PATH=/home/admin/test/data-integration/xlDataMigration
export LANG=zh_CN.UTF-8
export LOGS=/home/admin/test/data-integration/data/logs

DATE=`date +"%Y%m"`
DAY=`date +"%d"`
TIME=`date +"%H%M%S"`

if [ -d "$LOGS" ];then
echo "$LOGS is OK"
else
mkdir -p $LOGS
echo "$LOGS is created"
fi

if [ -d "$LOGS/$DATE" ];then
echo "$LOGS/$BUSINESS/$DATE is OK"
else
mkdir -p $LOGS/$DATE
echo "$LOGS/$BUSINESS/$DATE is created"
fi

TIME1=`date +"%H%M%S"`
if [[ $? -eq 0 ]];then
sh /home/admin/test/data-integration/kitchen.sh -file=/home/admin/test/data-integration/xlDataMigration/personAndVillageData.ktr.kjb >>$LOGS/$DATE/$DAY/deal_01_new_data_source_00_info_$TIME1.log
echo "excute deal_01_new_data_source_00_info.sh is successful"
else
echo "excute deal_01_new_data_source_00_info.sh is error";
exit 1;
fi

时间: 2024-10-08 20:41:03

shell脚本执行kettle任务脚本的相关文章

shell脚本编程之变量简介及脚本执行过程

脚本变量简介 变量类型:字符型.数值型.真.假:事先确定数据的存放格式和长度: 变量存放在内存空间: 编译型语言,没有额外的处理逻辑,属于强类型语言: 脚本型语言,可以有解释器控制:所以,可以是弱类型语言: 强类型:变量在使用前,必须事先声明,甚至还需要初始化(给一个初始值,如果没给一个原始值,里面是随机数): 弱类型:变量用时声明,甚至不需要区分类型(默认为字符串): 变量赋值:VAR-NAME=VALUE: bash shell变量类型: 环境变量 本地变量(局部变量),局部变量不一定都是本

linux下shell脚本执行方法及exec和source命令

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child

linux shell脚本执行错误:bad substitution

脚本test.sh内容: #!/bin/bash read pressKey indexes=0 c=${pressKey:indexes:1} 使用调试方式执行:sh -x test.sh第3行总出现bad substitution提示信息. 百思不得其解: 于是百度,查到一条有用信息,这与linux shell使用的是/bin/sh,还是/bin/bash有关系.我的脚本中指定使用的是/bin/bash shell,但是我在调试的时候使用的是sh shell,因此调试时导致错误提示信息. 解

二、shell文件权限和脚本执行

一.认识权限和用户管理 1.查看权限 权限类型: 1.r 读 2.w 写 3.x 可执行 Linux用户 1.所有者(u) 2.所属组(g) (所有者及所有者所在组的全部用户) 3.其他用户(o)(其他组的所有用户(包括文件所有者)) 4.所有用户(a) 文件权限解读 文件类型 所有者权限  所属组权限  其他用户权限            所有者  用户所在的组  文件大小  创建时间  文件名 [[email protected] ~]# ll 总用量 100 -rw-------. 1 r

shell脚本执行超时怎么办?

在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象.一般来说遇到这种问题,我们都会简单粗暴的采用下面这种脚本来当"超时看门狗": #!/bin/bash ./$1 &    #这里设定后台运行的第一个参数 pid = $!    #最后一个运行的process的PID值 sleep $2 && kill -9 $pid &    #如果超过了$2的值的话,就会把那个PID干掉 这个脚本搭配两个变量使用的话,监控一点小代码还算OK,但是它

shell脚本执行及配置文件

linux之shell脚本执行及配置文件 bash脚本执行方法:     1 解释器直接运行         /usr/bin/bash bash FOO.sh     2 使用路径运行脚本(需要有x权限)         chmod +x FOO.sh         /PATH/TO/FOO.sh     3 使用.或source命令执行脚本         . /PATH/TO/FOO.sh         source /PATH/TO/FOO.sh     1,2执行方法和3执行方法的

[Shell]crontab 执行任务调用shell脚本,相对路径无法找到

问题出现的场景大概就是 1  cron调用一个python脚本 2  python脚本中调用一个shell脚本(对日志分析)获取shell输出然后发送邮件 类似一个监控任务. 直接执行python脚本没有问题,但是写在cron中之后,shell脚本中的相对路径就找不到了,总是提示无法找到某些文件 后来解决的问题就是使用log文件的绝对路径,运行就正常了. google了一些,发现很多人也遇到过类似的问题,可能和cron的机制有关系. 大部分人的问题都是因为环境变量造成的,因为cron是一个独立进

shell脚本执行冲突事件-ssh&while

今天发现一个问题: 先看下脚本内容: [email protected]/0 # cat !$ cat /tmp/test_nginx ls *.txt | tr ' ' '\n' | while read line do  echo $line if [ 'yes' == 'yes' ] then ssh  192.168.109.10 "echo 'yes'" else ssh 192.168.109.10 "echo 'no'" fi done 上面脚本很简单

shell脚本执行

方法一:切换到shell脚本所在的目录执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中.查看PATH的内容可用 echo $PASH 命令.现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行. 方法二