批量导出informaticaobject的shellscript

2015-07-24 10:26:05 · 作者: · 浏览: 3
#!/bin/bash  
# -----------------------------------------------------------------------
# Script Name: inf_impobj.sh
# Purpose: To batch export mappings or workflows to xml files 
# Created by: indifferent_to
# Date: 2014-11-26 
# ----------------------------------------------------------------------
function usage {
cat < -d  -w/-m/-s/-t 
EOU
exit 1
}
repository="repository name"
domain="repository domain"
host="informatica server host name"
port="informatica server port number"
_user_name=
_password=
_obj_type=mapping
list_file=
output_folder=

if [ ! -n "$1" ]; then
usage
else
while true
do
case $1 in
-l)
list_file=$2
shift 2;;
-d)
output_folder=$2
shift 2;;
-w)
_obj_type=workflow
_user_name=$2
break;;
-s)
_obj_type="source"
_user_name=$2
break;;
-t)
_obj_type="target"
_user_name=$2
break;;
-m)
_user_name=$2
break;;
*)
if [ ! -n "$1" ]; then
	break;
        usage
else
        echo "invalid argument $1";
        break;	
	usage
fi
        ;;
esac
done
fi

pmrep connect  -r $repository -h $host -o $port -n $_user_name -s $domain
if [ $? -ne 0 ]; then
echo "Can not connect to the informatica repository!"
exit 1; 
fi

row_count=`cat $list_file|wc -l`
success=0
fail=0

for((row=1;row<=$row_count;row++))
do
object_name=`sed -n ${row}'p' $list_file`
object_name=`echo $object_name|sed 's/\\r//g'`

#pmrep objectexport -n $object_name -o $_obj_type -m -f client_delpdw -s -b -r -u ${output_folder}/${object_name}".xml">
>infa_expobj.log pmrep objectexport -n $object_name -o $_obj_type -m -f client_delpdw -b -u ${output_folder}/${object_name}".xml">>infa_expobj.log if [ $? -eq 0 ]; then let success=$success+1 echo "${object_name} export successfully!" else let fail=$fail+1 echo "${object_name} fail to export." fi #if [ _obj_type="sourcce" ]; then #new_object_name=`echo $object_name|sed 's/flatfile.//g'` #mv ${output_folder}/${object_name}".xml" ${output_folder}/${new_object_name}".xml" #fi done echo "$success success; $fail fail"