zoukankan      html  css  js  c++  java
  • [SAP BASIS][shell] shell 实战之远程复制传输

    需求: 日常工作经常需要将传输从一个系统传到别一个系统 ,需手工拷贝传输的数据文件和控制文件

    前提: SAP服务器名字: <sapsid>a  例子: D4C 系统主机是 d4ca ;Q4C 系统主机是q4ca

    解析: 传输号: DECK000004 有两个文件, 数据文件R000004.DEC 控制文件K000004.DEC

    使用方法

    1. remotetecopy DECK000004 D4C
    2. remotetecopy R000004.DEC D4C
    3. remotetecopy K000004.DEC D4C
    #!/bin/bash
    #####################################################################################################################
    #auther : __tingxin__                                                                                               #
    #date   : 2020-Mar-29                                                                                               #
    #version: 1.0                                                                                                       #
    #Funtion: 远程将传输号从一个SAP服务器复制到另一个服务器并加入到传输队列                                                 #
    #                                                                                                                   #
    #                                                                                                                   #
    #parametr:                                                                                                          #
    #           <Transport_number>     传输号                                                                           #
    #            <SAPSID>              目标SAP系统SAPID                                                                 #
    #usage    : trcopy     Transport_number    SAPSID                                                           #
    #                                                                                                                   #
    #####################################################################################################################
    
    if [ $# -lt 2 ]
    then
      printf "=========================================================="
      printf "check_backup - check if backup exist for date"
      printf "Syntax: remotetecopy <Transport_number>  <SAPSID>"
      exit 
    fi

    if [ $(echo $2|cut -c 1) = "P" ]
    then
      printf "can't directly import to production system "
      printf "pls start import Develop system first "
      exit
    fi
    typeset -u STR=$1 echo $STR SSID="" ssid="" shost="" transportid="" TSID=$2 typeset -l tsid=$2 targethost=${tsid}a if [ ${#STR} -eq 10 ]; then SSID=$(echo $STR|cut -c 1-3) echo "Source system is $SSID" typeset -l ssid=$SSID shost=${ssid}a          #source host echo "Source host is $shost" transportid=${SSID}K$(echo $STR|cut -c 5-10) echo "transport number is $transportid" trcofile=K$(echo $STR|cut -c 5-10).${SSID} trdatafile=R$(echo $STR|cut -c 5-10).${SSID} else SSID=$(echo $STR|cut -c 9-11) #source SAPSID echo "Source system is $SSID" typeset -l ssid=$SSID shost=${ssid}a         #source host echo "Source host is $shost" transportid=${SSID}K$(echo $STR|cut -c 2-7) echo "transport number is $transportid" trcofile=K$(echo $STR|cut -c 2-7).$SSID trdatafile=R$(echo $STR|cut -c 2-7).$SSID fi ssh $shost "test -e "/usr/sap/trans/cofiles/${trcofile}"" if [ $? -eq 0 ];then echo "$transportid cofiles is exist in host $shost" fi ssh $shost "test -e "/usr/sap/trans/data/${trdatafile}"" if [ $? -eq 0 ];then echo "$transportid data file is exist in host $shost" fi echo "start copy cofile $trcofile" ssh -q $targethost "scp -p $shost:/usr/sap/trans/cofiles/${trcofile} /usr/sap/trans/cofiles/" if [ $? -eq 0 ];then echo "copy cofile $trcofile successfully" fi echo "start copy data $trcofile" ssh -q $targethost "scp -p $shost:/usr/sap/trans/data/${trdatafile} /usr/sap/trans/data/" if [ $? -eq 0 ];then echo "copy cofile $trdatafile successfully" fi echo "start change tranport permission" ssh -q $targethost "chown ${tsid}adm:sapsys /usr/sap/trans/data/${trdatafile}" ssh -q $targethost "chown ${tsid}adm:sapsys /usr/sap/trans/cofiles/${trcofile}" if [ $? -eq 0 ];then echo "change the permission of ${transportid} successfully"
    fi

    echo "add transport ${transportid} to buffer"
    ssh -q $targethost " su - ${tsid}adm -c tp addtobuffer ${transportid} ${TSID} pf=/usr/sap/trans/bin/TP_DOMAIN_${TSID}.PFL"
    if [ $? -eq 0 ];then
      
    echo "add transport ${transportid} to buffer successfully"
    fi

     结果

    root@d4ca:/NT/CCS/script/lih8hz $ remote_tr_copy.sh DECK000004  D4C
    DECK000004 
    Source system is DEC
    Source host is deca
    transport number is DECK000004 
    DECK000004 cofiles  is exist in host deca
    DECK000004 data file is exist in host deca
    start copy cofile K000004.DEC
    copy cofile K000004.DEC successfully
    start copy data K000004.DEC
    copy cofile R000004.DEC successfully
    start change tranport permission
    change the permission of DECK000004 successfully
    add transport DECK000004 to buffer
    This is tp version 380.70.10 (release 749, unicode enabled)
    Warning: Parameter DBLIBPATH is no longer used.
    Warning: Parameter DBSWPATH is no longer used.
    Addtobuffer successful for DECK000004
    tp finished with return code: 0
    meaning:
      Everything OK
    add transport DECK000004 to buffer successfully
    每天进步一点点,多思考,多总结 版权声明:本文为CNblog博主「zaituzhong」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
  • 相关阅读:
    查看本机上的端口使用情况netstat -an
    WCF中的由于目标计算机积极拒绝,无法连接
    联想G480安装CentOS电缆驱动器
    &quot;伪中国移动client&quot;--伪基站诈骗
    Median of Two Sorted Arrays--LeetCode
    poj3671Dining Cows(DP)
    更多RANK37
    《Java并发编程实战》第二章 线程安全 札记
    Windows下一个SlikSVN使用
    (一个)AngularJS获取贴纸Hello World
  • 原文地址:https://www.cnblogs.com/tingxin/p/12591544.html
Copyright © 2011-2022 走看看