#!/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 <<EOU
Usage:
inf_impobj.sh -l <list_file> -d <output_folder> -w/-m/-s/-t <user_name>
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"
批量導出informatica object 的shell script
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.