perl 脚本:
print ">>>>>>>>-into shell->>>>>>>>\n";
eval{my $args = "$host:$port:$dbname:$username:$password:$command";
system("sh /wls/oracle/opr2_new_mon/lib/PerlShellJava.sh '$args'") or die "PerlShellJava.sh exec error";
};
if ($@ ne ''){
print $@;
}
print ">>>>>>>>-out shell into file->>>>>>>>\n";
PerlShellJava.sh 脚本:
#!/bin/bash
cd /wls/oracle/opr2_new_mon/lib
Channel=$1
BatchSize=80000
export CLASSPATH=/wls/oracle/jdk1.7.0_79/lib/dt.jar:/wls/oracle/jdk1.7.0_79/lib/tools.jar:/wls/oracle/jdk1.7.0_79/jre/lib/rt.jar:/wls/oracle/app/oracle/product/11.2.0/client_1/lib:/usr/X11R6/lib:/usr/lib:/wls/oracle/app/oracle/product/11.2.0/client_1/network/lib:/wls/oracle/TimesTen/tt1122/lib/ttjdbc5.jar:/wls/oracle/TimesTen/tt1122/lib/orai18n.jar:/wls/oracle/TimesTen/tt1122/lib/timestenjmsxla.jar:/wls/oracle/TimesTen/tt1122/3rdparty/jms1.1/lib/jms.jar:/wls/oracle/opr2_new_mon/lib/lib/commons-logging-1.1.3.jar:/wls/oracle/opr2_new_mon/lib/lib/curator-client-2.6.0.jar:/wls/oracle/opr2_new_mon/lib/lib/curator-framework-2.6.0.jar:/wls/oracle/opr2_new_mon/lib/lib/curator-recipes-2.6.0.jar:/wls/oracle/opr2_new_mon/lib/lib/hadoop-common-2.6.0-cdh5.4.2.jar:/wls/oracle/opr2_new_mon/lib/lib/hive-exec-0.13.1.jar:/wls/oracle/opr2_new_mon/lib/lib/hive-jdbc-0.13.1.jar:/wls/oracle/opr2_new_mon/lib/lib/hive-metastore-0.13.1.jar:/wls/oracle/opr2_new_mon/lib/lib/hive-service-0.13.1.jar:/wls/oracle/opr2_new_mon/lib/lib/httpclient-4.2.5.jar:/wls/oracle/opr2_new_mon/lib/lib/httpcore-4.2.5.jar:/wls/oracle/opr2_new_mon/lib/lib/libthrift-0.9.0.jar:/wls/oracle/opr2_new_mon/lib/lib/slf4j-api-1.7.5.jar:/wls/oracle/opr2_new_mon/lib/lib/zookeeper-3.4.6.jar::.
export JAVA_HOME=/wls/oracle/jdk1.7.0_79
export JAVA_CMD=$JAVA_HOME/bin/java
export JAVA_MAIN=HiveJavaProbe
#EXEC_CMD="$JAVA_CMD -Xmx6000m -classpath $CLASSPATH $JAVA_MAIN $Channel"
$JAVA_CMD -Xmx6000m -classpath $CLASSPATH $JAVA_MAIN "$Channel"
echo "123"
注意 运行过程中 可能会遇到 not find xxx file or is a dictory 什么的,肯定是目录出了问题,我就是被目录搞傻了,都写绝对路径