meta data for this page
  •  

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
Következő változat
Előző változat
Utolsó változatKövetkező változat mindkét oldalon
shell:auto_deploy_planner [2015/09/04 16:00] adminshell:auto_deploy_planner [2017/03/27 15:13] admin
Sor 1: Sor 1:
-====== TSM Client Auto Deployment planner szkript ======+====== TSM Auto Deployment planner szkript ======
  
-A shell az Admin Center-t igyekszik kiváltani, legalábbis ami az Auto Client Deployment funkcióját illeti. Lekérdezi a beimportált autodeploy package-eket, és kilistázza. Ebből a listából választott package-hez meg kell adnunk milyen nevű ütemezést szeretnénk, mikor fusson, és mely node-okra állítsa be a deploy-t. A szkript "nagyjából" ellenőrzi, hogy a választott kliens(ek) operációs rendszere és architektúrája megegyezik-e azzal, amit telepítésre kiválasztottunk neki. Ha a szabályrendszer már kész, a helpjében leírtak (h parancs) szerint, akkor abba lehet innen is új telepítőkészleteket beimportálni (i paranccsal). Deploy feladatok futása után az "e" paranccsal lehet ezek sikerességét ellenőrizni. (Nem a Deploy ütemezésekét, hanem a node-ok kliens és cél verziószámát tudjuk ellenőrizni.)+A shell az Admin Center-t igyekszik kiváltani, legalábbis ami az Auto Deployment funkcióját illeti. Lekérdezi a beimportált autodeploy package-eket, és kilistázza. Ebből a listából választott package-hez meg kell adnunk milyen nevű ütemezést szeretnénk, mikor fusson, és mely node-okra állítsa be a deploy-t. A szkript "nagyjából" ellenőrzi, hogy a választott kliens(ek) operációs rendszere és architektúrája megegyezik-e azzal, amit telepítésre kiválasztottunk neki. Ha a szabályrendszer már kész, a helpjében leírtak (h parancs) szerint, akkor abba lehet innen is új telepítőkészleteket beimportálni (i paranccsal). Deploy feladatok futása után az "e" paranccsal lehet ezek sikerességét ellenőrizni. (Nem a Deploy ütemezésekét, hanem a node-ok kliens és cél verziószámát tudjuk ellenőrizni.)
  
 A hivatalos IBM dokumentum a manuálisan kivitelezett Auto Deploymentről: [[http://www-01.ibm.com/support/docview.wss?uid=swg21673299&aid=1|IBM Tivoli Storage Manager automatic deployment configuration]] A hivatalos IBM dokumentum a manuálisan kivitelezett Auto Deploymentről: [[http://www-01.ibm.com/support/docview.wss?uid=swg21673299&aid=1|IBM Tivoli Storage Manager automatic deployment configuration]]
Sor 11: Sor 11:
 TSM_ADMIN="user" TSM_ADMIN="user"
 TSM_PASSW="passw" TSM_PASSW="passw"
 +LOG_FILE="/var/log/tsm_auto_deploy_planner.log"
 +RESULT_CHECK_FILE="/var/log/tsm_auto_deploy_planner.check"
 +TMP_FILE="/tmp/tsm_auto_deploy_planner.rc.tmp"
 +# AZ EZ ALATTI KODOT NE PISZKALD, CSAK HA TUDOD MIT CSINALSZ
 SQL_Q_DEPLOY_PACKAGES="SELECT DISTINCT(DESCRIPTION),NODE_NAME,FILESPACE_NAME,HL_NAME,LL_NAME FROM ARCHIVES WHERE NODE_NAME LIKE 'IBM_CLIENT_DEPLOY%' and TYPE='FILE'  and ( LL_NAME='DEPLOYCLIENT.BAT' OR LOWER(LL_NAME)='deployclient.sh' )  and DESCRIPTION LIKE 'DEPLOY%'" SQL_Q_DEPLOY_PACKAGES="SELECT DISTINCT(DESCRIPTION),NODE_NAME,FILESPACE_NAME,HL_NAME,LL_NAME FROM ARCHIVES WHERE NODE_NAME LIKE 'IBM_CLIENT_DEPLOY%' and TYPE='FILE'  and ( LL_NAME='DEPLOYCLIENT.BAT' OR LOWER(LL_NAME)='deployclient.sh' )  and DESCRIPTION LIKE 'DEPLOY%'"
 SQL_QUERY_DEPLOY_DIR="SELECT DIRECTORY FROM DEVCLASSES WHERE DEVCLASS_NAME IN (SELECT DEVCLASS FROM STGPOOLS WHERE STGPOOL_NAME IN (SELECT DESTINATION FROM AR_COPYGROUPS WHERE DOMAIN_NAME='IBM_CLIENT_DEPLOY' AND SET_NAME='ACTIVE'))" SQL_QUERY_DEPLOY_DIR="SELECT DIRECTORY FROM DEVCLASSES WHERE DEVCLASS_NAME IN (SELECT DEVCLASS FROM STGPOOLS WHERE STGPOOL_NAME IN (SELECT DESTINATION FROM AR_COPYGROUPS WHERE DOMAIN_NAME='IBM_CLIENT_DEPLOY' AND SET_NAME='ACTIVE'))"
-SQL_DEPLOYED_NODES="SELECT DISTINCT substr(N.NODE_NAME,1,22) as \"NODE\", substr(CS.SCHEDULE_NAME,1,22) as \"SCHEDULE\", substr(N.CLIENT_VERSION || '.' || N.CLIENT_RELEASE ||  '.' || N.CLIENT_LEVEL ||  '.' || N.CLIENT_SUBLEVEL || ' - ' || N.CLIENT_TARGET_VERSION || '.' || N.CLIENT_TARGET_RELEASE || '.' ||  N.CLIENT_TARGET_LEVEL || '.' || N.CLIENT_TARGET_SUBLEVEL,1,18) as \"CLIENT - TARGET\", case when N.CLIENT_VERSION || '.' || N.CLIENT_RELEASE ||  '.' || N.CLIENT_LEVEL ||  '.' || N.CLIENT_SUBLEVEL != N.CLIENT_TARGET_VERSION || '.' || N.CLIENT_TARGET_RELEASE || '.' ||  N.CLIENT_TARGET_LEVEL || '.' || N.CLIENT_TARGET_SUBLEVEL then '!' else 'OK' end as \"OK\", substr(N.PLATFORM_NAME,1,15)  as \"OS_VERSION\" FROM NODES N, ASSOCIATIONS A, CLIENT_SCHEDULES CS WHERE N.NODE_NAME=A.NODE_NAME AND A.SCHEDULE_NAME=CS.SCHEDULE_NAME AND CS.ACTION='DEPLOY'"+SQL_DEPLOYED_NODES="SELECT DISTINCT substr(N.NODE_NAME,1,22) as \"NODE\", substr(CS.SCHEDULE_NAME,1,22) as \"SCHEDULE\", substr(N.CLIENT_VERSION || '.' || N.CLIENT_RELEASE ||  '.' || N.CLIENT_LEVEL ||  '.' || N.CLIENT_SUBLEVEL || ' - ' || N.CLIENT_TARGET_VERSION || '.' || N.CLIENT_TARGET_RELEASE || '.' ||  N.CLIENT_TARGET_LEVEL || '.' || N.CLIENT_TARGET_SUBLEVEL,1,18) as \"CLIENT - TARGET\", case when N.CLIENT_VERSION || '.' || N.CLIENT_RELEASE ||  '.' || N.CLIENT_LEVEL ||  '.' || N.CLIENT_SUBLEVEL != N.CLIENT_TARGET_VERSION || '.' || N.CLIENT_TARGET_RELEASE || '.' ||  N.CLIENT_TARGET_LEVEL || '.' || N.CLIENT_TARGET_SUBLEVEL then '!!' else 'OK' end as \"OK\", substr(N.PLATFORM_NAME,1,15)  as \"OS_VERSION\" FROM NODES N, ASSOCIATIONS A, CLIENT_SCHEDULES CS WHERE N.NODE_NAME=A.NODE_NAME AND A.SCHEDULE_NAME=CS.SCHEDULE_NAME AND CS.ACTION='DEPLOY'"
 DSMADMC="dsmadmc -id=$TSM_ADMIN -pa=$TSM_PASSW -se=$TSM_SERVER -dataonly=y " DSMADMC="dsmadmc -id=$TSM_ADMIN -pa=$TSM_PASSW -se=$TSM_SERVER -dataonly=y "
    
Sor 28: Sor 32:
 clear clear
 # FEJLECT MEGRAJZOLASA # FEJLECT MEGRAJZOLASA
-FEJLEC="TSM Auto Client Deployment planner v1.(2015.09.04.)"+FEJLEC="TSM Auto Deployment planner v1.(2015.09.24.)"
 FEJLEC2="written by Peter Agoston" FEJLEC2="written by Peter Agoston"
 printf "${inv}" printf "${inv}"
Sor 72: Sor 76:
 printf " i  Uj telepitokeszlet beimportalasa a szerverre (.exp)\n" printf " i  Uj telepitokeszlet beimportalasa a szerverre (.exp)\n"
 printf " e  Auto Deployra jelolt node-ek kliens verzioinak ellenorzese\n" printf " e  Auto Deployra jelolt node-ek kliens verzioinak ellenorzese\n"
 +printf " f  Auto Deployra jelolt node-ek kliens verzioinak ellenorzese (csak sikerteleneket mutat)\n"
 +printf " d  Auto Deploy kliens üzenetek keresése node-hoz az activity logban.\n"
 printf " h  Segitseg a hasznalathoz\n" printf " h  Segitseg a hasznalathoz\n"
 printf " q  Kilepes\n" printf " q  Kilepes\n"
Sor 77: Sor 83:
  
 # Program fo ciklus eleje # Program fo ciklus eleje
-while [[ $DEPL_PACK_ID -le 0 || $DEPL_PACK_ID -gt $I ]];  do+#while [[ $DEPL_PACK_ID -le 0 || $DEPL_PACK_ID -gt $I ]];  do 
 +while [[ $DEPL_PACK_ID != "q" ]];  do
         printf "${whi}Add meg a hasznalni kivant telepito keszlet sorszamat, vagy a funkcio betujelet: ${end}"         printf "${whi}Add meg a hasznalni kivant telepito keszlet sorszamat, vagy a funkcio betujelet: ${end}"
         read DEPL_PACK_ID         read DEPL_PACK_ID
 +        echo >> $LOG_FILE
 +        date >> $LOG_FILE
 +        echo "Valasztott menupont: $DEPL_PACK_ID" >> $LOG_FILE
 # HELP  # HELP 
         if [[ $DEPL_PACK_ID = "h" ]]; then         if [[ $DEPL_PACK_ID = "h" ]]; then
Sor 86: Sor 96:
    
    /* A ${red}pirossal${end} jelolteket muszaj a helyi sajatossagoknak megfeleloen beallitani, a ${yel}sargakat${end} opcionalisan lehet modositani */    /* A ${red}pirossal${end} jelolteket muszaj a helyi sajatossagoknak megfeleloen beallitani, a ${yel}sargakat${end} opcionalisan lehet modositani */
-   /* ide fogjuk elhelyezni az FTP-rĹ‘l letöltött .exp fájlokat, amit az import majd használ */ +   /* ide fogjuk elhelyezni az FTP-rol letoltott .exp fajlokat, amit az import majd hasznal */ 
-   ${gry}DEFINE DEVCLASS DEPLOY_IMPORT DEVTYPE=FILE DIRECTORY="${red}/sanfs/autodeploy${gry}"${end}+   ${gry}DEFINE DEVCLASS ${yel}DEPLOY_IMPORT${end} DEVTYPE=FILE DIRECTORY="${red}/sanfs/autodeploy${gry}"${end}
    
-   /* ezen a file devclass-on definiált volume-okon fogja tárolni a TSM szerver az importált, kliensekre terĂ­tendĹ‘ kĂłdot */ +   /* ezen a file devclass-on definialt volume-okon fogja tarolni a TSM szerver az importalt, kliensekre teritendo kodot */ 
-   ${gry}DEFINE DEVCLASS DEPLOY_DATA DEVTYPE=FILE DIRECTORY="${red}/sanfs/autodeploy${gry}"${end}+   ${gry}DEFINE DEVCLASS ${yel}DEPLOY_DATA${end} DEVTYPE=FILE DIRECTORY="${red}/sanfs/autodeploy${gry}"${end}
    
-   ${gry}DEFINE STGPOOL autodep DEPLOY_DATA MAXSCRATCH=${yel}100${end}+   ${gry}DEFINE STGPOOL ${yel}autodep DEPLOY_DATA${end} MAXSCRATCH=${yel}100${end}
    
-   /KĂĽlön policy domaint Ă©s szabályrendszert kĂ©szĂ­t hozzá, de látva a működĂ©si elvet, ez nem feltĂ©tlenĂĽl szĂĽksĂ©ges! */ +   /Kulon policy domaint es szabalyrendszert keszit hozza, de latva a műkodesi elvet, ez nem feltetlenul szukseges! */ 
-   ${gry}DEFINE DOMAIN IBM_CLIENT_DEPLOY +   ${gry}DEFINE DOMAIN ${yel}IBM_CLIENT_DEPLOY${end} 
-   DEFINE POLICYSET IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY +   DEFINE POLICYSET ${yel}IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY${end} 
-   DEFINE MGMTCLASS IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY +   DEFINE MGMTCLASS ${yel}IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY${end} 
-   DEFINE COPYGROUP IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY STANDARD TYPE=ARCHIVE DESTINATION=autodep RETVER=${yel}1826${gry} +   DEFINE COPYGROUP ${yel}IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY${end} STANDARD TYPE=ARCHIVE DESTINATION=${yel}autodep${end} RETVER=${yel}1826${gry} 
-   ASSIGN DEFMGMTCLASS IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY +   ASSIGN DEFMGMTCLASS ${yel}IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY${end} 
-   ACTIVATE POLICYSET IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY${end}+   ACTIVATE POLICYSET ${yel}IBM_CLIENT_DEPLOY IBM_CLIENT_DEPLOY${end}
    
-   /* IBM FTP autodeploy-bĂłl letöltött .exp (TSM export) formátumĂş telepĂ­tĹ‘kĂ©szlet importálása a TSM szerverre (a DEPLOY_IMPORT devclass konyvtarabol) */ +   /* IBM FTP autodeploy-bol letoltott .exp (TSM export) formatumú telepitokeszlet importalasa a TSM szerverre (a DEPLOY_IMPORT devclass konyvtarabol) */ 
-   ${gry} IMPORT NODE * FILEDATA=ARCHIVE MERGEFILESPACE=YES DEVCLASS=DEPLOY_IMPORT VOLUMENAMES=${red}6.2.2.0-TIV-TSMBAC-WinX32.exp${end}+   ${gry} IMPORT NODE * FILEDATA=ARCHIVE MERGEFILESPACE=YES REPLACE=ALL DEVCLASS=${yel}DEPLOY_IMPORT${end} VOLUMENAMES=${red}6.2.2.0-TIV-TSMBAC-WinX32.exp${end}
    
 HELP HELP
 +# HIBAKERESES FUNKCIO
 +        elif [[ $DEPL_PACK_ID = "d" ]]; then
 +                printf "${whi}Meilyik node-ot nyomozzuk? ${end}"
 +                read NODE_TO_DEBUG
 +                $DSMADMC "select date_time, message from actlog where (date_time \> current_timestamp - 168 hours) and msgno in (4263,4264,4242,4212,4274,4210,4213,4220,4215,4260,4259,4273,4276,4271,4243,4206,4253,4298) and nodename=upper('$NODE_TO_DEBUG') order by date_time desc"
 +        echo
 +# ELLENORZES FUNKCIO
  elif [[ $DEPL_PACK_ID = "e" ]]; then  elif [[ $DEPL_PACK_ID = "e" ]]; then
-        printf "${whi}NODE                        SCHEDULE                    CLIENT - TARGET         C=T     OS_VERSION\n" +        printf "${red}" > $RESULT_CHECK_FILE 
-        printf "${whi}-----------------------     -----------------------     -------------------     ---     ------------${gry}\n" +        date >> $RESULT_CHECK_FILE 
-            $DSMADMC "$SQL_DEPLOYED_NODES" | sed "s/!!/${red}!!${gry}/"+        printf "${whi}NODE                        SCHEDULE                    CLIENT - TARGET         C=T     OS_VERSION\n" | tee -a $RESULT_CHECK_FILE 
 +        printf "${whi}-----------------------     -----------------------     -------------------     ---     ------------${gry}\n" | tee -a $RESULT_CHECK_FILE 
 +            $DSMADMC "$SQL_DEPLOYED_NODES" | sed "s/!!/${red}!!${gry}/" | tee -a $RESULT_CHECK_FILE 
 +            printf "${end}\n" | tee -a $RESULT_CHECK_FILE 
 +            echo "A listat ebbe a fajlba is kiirtam: $RESULT_CHECK_FILE"
             echo             echo
 +# ELLENORZES FUNKCIO (CSAK SIKERTELENEK)
 + elif [[ $DEPL_PACK_ID = "e" ]]; then
 +        printf "${red}" > $RESULT_CHECK_FILE
 +        date >> $RESULT_CHECK_FILE
 +        printf "${whi}NODE                        SCHEDULE                    CLIENT - TARGET         C=T     OS_VERSION\n" | tee -a $RESULT_CHECK_FILE
 +        printf "${whi}-----------------------     -----------------------     -------------------     ---     ------------${gry}\n" | tee -a $RESULT_CHECK_FILE
 +            $DSMADMC "$SQL_DEPLOYED_NODES" | grep '!!' | sed "s/!!/${red}!!${gry}/" | tee -a $RESULT_CHECK_FILE
 +            printf "${end}\n" | tee -a $RESULT_CHECK_FILE
 +            echo "A listat ebbe a fajlba is kiirtam: $RESULT_CHECK_FILE"
 +            echo
 +# UJ TELEPITOKESZLET IMPORTALASA
  elif [[ $DEPL_PACK_ID = "i" ]]; then  elif [[ $DEPL_PACK_ID = "i" ]]; then
         printf "${whi}Add meg az importalni kivant telepito keszlet fajlnevet, amit mar felmasoltal a ${DEPLOYDIR##DIRECTORY: } konyvtarba (pl: 7.1.1.4-TIV-TSMBAC-LinuxX86.exp): ${end}"         printf "${whi}Add meg az importalni kivant telepito keszlet fajlnevet, amit mar felmasoltal a ${DEPLOYDIR##DIRECTORY: } konyvtarba (pl: 7.1.1.4-TIV-TSMBAC-LinuxX86.exp): ${end}"
         read IMPORT_PACK_FNAME         read IMPORT_PACK_FNAME
- [[ "$IMPORT_PACK_FNAME" =~ \.exp$ ]] && $DSMADMC -displ=tab "IMPORT NODE * FILEDATA=ARCHIVE MERGEFILESPACE=YES DEVCLASS=DEPLOY_IMPORT VOLUMENAMES=$IMPORT_PACK_FNAME" && echo "Kellhet par perc, mig az import lefut a hatterben."+ [[ "$IMPORT_PACK_FNAME" =~ \.exp$ ]] && $DSMADMC -displ=tab "IMPORT NODE * FILEDATA=ARCHIVE REPLACE=ALL MERGEFILESPACE=YES DEVCLASS=DEPLOY_IMPORT VOLUMENAMES=$IMPORT_PACK_FNAME" | tee -a $LOG_FILE && echo "Kellhet par perc, mig az import lefut a hatterben." 
 +# KILEPES A PROGRAMBOL
  elif [[ $DEPL_PACK_ID = "q" ]]; then  elif [[ $DEPL_PACK_ID = "q" ]]; then
  exit 0  exit 0
-        fi +    elif [[ $DEPL_PACK_ID =~ [0-9]+ ]]; then 
-done +# DEPLOY FUNKCIO 
-printf "${whi}Mi legyen a letrehozando utemezes neve? ${end}" +    printf "${whi}Mi legyen a letrehozando utemezes neve? ${end}" 
-read DEPL_SCH_NAME +    read DEPL_SCH_NAME 
-printf "${whi}Mi a node(ok) neve, amin upgrade-elni szeretned a klienst? (Ha tobb van, szokozzel elvalasztva sorold fel oket.)${end}\n" +    printf "${whi}Mi a node(ok) neve, amin upgrade-elni szeretned a klienst? (Ha tobb van, szokozzel elvalasztva sorold fel oket.)${end}\n" 
-read DEPL_NODE_NAME +    read DEPL_NODE_NAME 
-STARTDATE="-" +    STARTDATE="-" 
-until [[ $STARTDATE =~ [01][0-9]/[0-3][0-9]/201[5-9] || -z $STARTDATE ]];  do+    until [[ $STARTDATE =~ [01][0-9]/[0-3][0-9]/201[5-9] || -z $STARTDATE ]];  do
         printf "${whi}Az utemezes indulasanak datuma (HH/NN/EEEE): ${end}"         printf "${whi}Az utemezes indulasanak datuma (HH/NN/EEEE): ${end}"
         read STARTDATE         read STARTDATE
-done +    done 
-STARTDATE=${STARTDATE:=$(date "+%m/%d/%Y")} +    STARTDATE=${STARTDATE:=$(date "+%m/%d/%Y")} 
-until [[ $STARTTIME =~ [012][0-9]:[0-5][0-9] ]];  do+    STARTTIME="-" 
 +    until [[ $STARTTIME =~ [012][0-9]:[0-5][0-9] ]];  do
         printf "${whi}Az utemezes indulasanak ideje (OO:PP): ${end}"         printf "${whi}Az utemezes indulasanak ideje (OO:PP): ${end}"
         read STARTTIME         read STARTTIME
-done +    done 
-echo +    echo 
-for NODE in $DEPL_NODE_NAME; do +    for NODE in $DEPL_NODE_NAME; do 
-  echo "${yel}#### $NODE ####${end}" +      echo "${yel}#### $NODE ####${end}" 
-  DELP_DOM_NAME=$($DSMADMC "select domain_name from nodes where node_name=upper('${NODE}')" | sed 's/ //g'+      DEPL_DOM_NAME=$($DSMADMC "select domain_name from nodes where node_name=upper('${NODE}')" | sed 's/ //g'
-  if [[ $(echo $DELP_DOM_NAME) =~ ^ANR[0-9]{4} ]]; then printf "${red}Ilyen node talan nincs. Ellenorizd!${end}\n\n"; continue; fi +      if [[ $(echo $DEPL_DOM_NAME) =~ ^ANR[0-9]{4} ]]; then printf "${red}Ilyen node talan nincs. Ellenorizd!${end}\n\n"; continue; fi 
-  case "${PLATFORM[$DEPL_PACK_ID]}" in+      case "${PLATFORM[$DEPL_PACK_ID]}" in
         Windows)         Windows)
-        IS_OS_OK=$($DSMADMC "SELECT count(node_name) FROM NODES WHERE (LOWER(PLATFORM_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%') OR LOWER(CLIENT_OS_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%')) AND (LOWER(CLIENT_SYSTEM_ARCHITECTURE) LIKE LOWER('%${ARCHITECTURE[$DEPL_PACK_ID]}%') OR TRIM(CLIENT_SYSTEM_ARCHITECTURE) = '' OR CLIENT_SYSTEM_ARCHITECTURE IS NULL) AND (LOWER(PLATFORM_NAME) NOT LIKE '%deploymgr%') and node_name=('$NODE')")+        IS_OS_OK=$($DSMADMC "SELECT count(node_name) FROM NODES WHERE (LOWER(PLATFORM_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%') OR LOWER(CLIENT_OS_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%')) AND (LOWER(CLIENT_SYSTEM_ARCHITECTURE) LIKE LOWER('%${ARCHITECTURE[$DEPL_PACK_ID]}%') OR TRIM(CLIENT_SYSTEM_ARCHITECTURE) = '' OR CLIENT_SYSTEM_ARCHITECTURE IS NULL) AND (LOWER(PLATFORM_NAME) NOT LIKE '%deploymgr%') and node_name=upper('$NODE')")
         ;;         ;;
-        Linux|AIX)+        Linux)
         IS_OS_OK=$($DSMADMC "SELECT count(node_name) FROM NODES WHERE (LOWER(PLATFORM_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%') OR LOWER(CLIENT_OS_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%')) AND (LOWER(CLIENT_SYSTEM_ARCHITECTURE) LIKE LOWER('%x86%') OR LOWER(CLIENT_SYSTEM_ARCHITECTURE) LIKE LOWER('%x64%') OR TRIM(CLIENT_SYSTEM_ARCHITECTURE) = '' OR CLIENT_SYSTEM_ARCHITECTURE IS NULL) AND (LOWER(PLATFORM_NAME) NOT LIKE '%deploymgr%') and node_name=upper('$NODE')")         IS_OS_OK=$($DSMADMC "SELECT count(node_name) FROM NODES WHERE (LOWER(PLATFORM_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%') OR LOWER(CLIENT_OS_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%')) AND (LOWER(CLIENT_SYSTEM_ARCHITECTURE) LIKE LOWER('%x86%') OR LOWER(CLIENT_SYSTEM_ARCHITECTURE) LIKE LOWER('%x64%') OR TRIM(CLIENT_SYSTEM_ARCHITECTURE) = '' OR CLIENT_SYSTEM_ARCHITECTURE IS NULL) AND (LOWER(PLATFORM_NAME) NOT LIKE '%deploymgr%') and node_name=upper('$NODE')")
 +        ;;
 +        AIX)
 +        IS_OS_OK=$($DSMADMC "SELECT count(node_name) FROM NODES WHERE (LOWER(PLATFORM_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%') OR LOWER(CLIENT_OS_NAME) LIKE LOWER ('%${PLATFORM[$DEPL_PACK_ID]}%')) AND (LOWER(CLIENT_SYSTEM_ARCHITECTURE) LIKE LOWER('%ppc%') OR TRIM(CLIENT_SYSTEM_ARCHITECTURE) = '' OR CLIENT_SYSTEM_ARCHITECTURE IS NULL) AND (LOWER(PLATFORM_NAME) NOT LIKE '%deploymgr%') and node_name=upper('$NODE')")
         ;;         ;;
         *)         *)
-        printf "${red}Valami a szkript altal nem ismert platform-ot (${PLATFORM[$DEPL_PACK_ID]}) akarsz teriteni.${end}\n\n"+        printf "${red}Valami a szkript altal nem ismert platform-ot (${PLATFORM[$DEPL_PACK_ID]}) akarsz teriteni.${end}\n\n" | tee -a $LOG_FILE
         continue;         continue;
         ;;         ;;
-  esac +      esac 
-  if [[ $IS_OS_OK -ne 1 ]]; then +      if [[ $IS_OS_OK -ne 1 ]]; then 
-        printf "${red}A node OS-e es/vagy architekturaja nem egyezik a telepiteni kivanteval!${end}\n\n"+        printf "${red}A node OS-e es/vagy architekturaja nem egyezik a telepiteni kivanteval!${end}\n\n" | tee -a $LOG_FILE
         continue;         continue;
-  fi +      fi 
-  VERSIONNUM=$(echo ${VERSION[$DEPL_PACK_ID]}| sed 's/\.//g'+      VERSIONNUM=$(echo ${VERSION[$DEPL_PACK_ID]}| sed 's/\.//g'
-  case "${PLATFORM[$DEPL_PACK_ID]}" in+# UTEMEZESEK BEDEFINIALASA 
 +      RC=0 
 +      case "${PLATFORM[$DEPL_PACK_ID]}" in
         Windows)         Windows)
-        $DSMADMC "DEFINE SCHEDULE ${DELP_DOM_NAME} ${DEPL_SCH_NAME} ACTION=DEPLOY OBJECTS='${FILESPACE[$DEPL_PACK_ID]}${HL_NAME[$DEPL_PACK_ID]}\* ..\IBM_ANR_WIN\\' DURATION=1 DURUNITS=HOURS PERUNITS=ONETIME STARTDATE=${STARTDATE} STARTTIME=${STARTTIME} OPTIONS=\"-FROMNODE=${PACK_NODE[$DEPL_PACK_ID]} -POSTSCHEDULECMD='..\IBM_ANR_WIN\V${VERSIONNUM}\\${LL_NAME[$DEPL_PACK_ID]} SCHEDULE=${DEPL_SCH_NAME} DOMAIN=${DELP_DOM_NAME} AUTODEPLOY=NOREBOOT nodeinfo=TBD' -SUB=YES -REPLACE=ALL\""+        $DSMADMC "DEFINE SCHEDULE ${DEPL_DOM_NAME} ${DEPL_SCH_NAME} ACTION=DEPLOY OBJECTS='${FILESPACE[$DEPL_PACK_ID]}${HL_NAME[$DEPL_PACK_ID]}\* ..\IBM_ANR_WIN\\' DURATION=1 DURUNITS=HOURS PERUNITS=ONETIME STARTDATE=${STARTDATE} STARTTIME=${STARTTIME} OPTIONS=\"-FROMNODE=${PACK_NODE[$DEPL_PACK_ID]} -POSTSCHEDULECMD='..\IBM_ANR_WIN\V${VERSIONNUM}\\${LL_NAME[$DEPL_PACK_ID]} SCHEDULE=${DEPL_SCH_NAME} DOMAIN=${DEPL_DOM_NAME} AUTODEPLOY=NOREBOOT nodeinfo=TBD' -SUB=YES -REPLACE=ALL\"" | tee $TMP_FILE >> $LOG_FILE;
-        RC=$?+
         ;;         ;;
         Linux)         Linux)
-        $DSMADMC "DEFINE SCHEDULE ${DELP_DOM_NAME} ${DEPL_SCH_NAME} ACTION=DEPLOY OBJECTS='${HL_NAME[$DEPL_PACK_ID]}* /opt/tivoli/tsm/client/IBM_ANR_UNX/' DURATION=1 DURUNITS=HOURS PERUNITS=ONETIME STARTDATE=${STARTDATE} STARTTIME=${STARTTIME} OPTIONS=\"-FROMNODE=${PACK_NODE[$DEPL_PACK_ID]} -POSTSCHEDULECMD='/opt/tivoli/tsm/client/IBM_ANR_UNX/v${VERSIONNUM}/${LL_NAME[$DEPL_PACK_ID]}>/opt/tivoli/tsm/client/IBM_ANR_UNX/v${VERSIONNUM}/upmin#SCHEDULE=${DEPL_SCH_NAME}#DOMAIN=${DELP_DOM_NAME}#nodeinfo2=TBD' -SUB=YES -REPLACE=ALL\""+        $DSMADMC "DEFINE SCHEDULE ${DEPL_DOM_NAME} ${DEPL_SCH_NAME} ACTION=DEPLOY OBJECTS='${HL_NAME[$DEPL_PACK_ID]}* /opt/tivoli/tsm/client/IBM_ANR_UNX/' DURATION=1 DURUNITS=HOURS PERUNITS=ONETIME STARTDATE=${STARTDATE} STARTTIME=${STARTTIME} OPTIONS=\"-FROMNODE=${PACK_NODE[$DEPL_PACK_ID]} -POSTSCHEDULECMD='/opt/tivoli/tsm/client/IBM_ANR_UNX/v${VERSIONNUM}/${LL_NAME[$DEPL_PACK_ID]}>/opt/tivoli/tsm/client/IBM_ANR_UNX/v${VERSIONNUM}/upmin#SCHEDULE=${DEPL_SCH_NAME}#DOMAIN=${DEPL_DOM_NAME}#nodeinfo2=TBD' -SUB=YES -REPLACE=ALL\"" | tee $TMP_FILE >> $LOG_FILE;
-        RC=$?+
         ;;         ;;
         AIX)         AIX)
-        $DSMADMC "DEFINE SCHEDULE ${DELP_DOM_NAME} ${DEPL_SCH_NAME} ACTION=DEPLOY OBJECTS='${HL_NAME[$DEPL_PACK_ID]}* /usr/tivoli/tsm/client/IBM_ANR_UNX/' DURATION=1 DURUNITS=HOURS PERUNITS=ONETIME STARTDATE=${STARTDATE} STARTTIME=${STARTTIME} OPTIONS=\"-FROMNODE=${PACK_NODE[$DEPL_PACK_ID]} -POSTSCHEDULECMD='/usr/tivoli/tsm/client/IBM_ANR_UNX/v${VERSIONNUM}/${LL_NAME[$DEPL_PACK_ID]}>/usr/tivoli/tsm/client/IBM_ANR_UNX/v${VERSIONNUM}/upmin#SCHEDULE=${DEPL_SCH_NAME}#DOMAIN=${DELP_DOM_NAME}#nodeinfo2=TBD' -SUB=YES -REPLACE=ALL\""+        $DSMADMC "DEFINE SCHEDULE ${DEPL_DOM_NAME} ${DEPL_SCH_NAME} ACTION=DEPLOY OBJECTS='${HL_NAME[$DEPL_PACK_ID]}* /usr/tivoli/tsm/client/IBM_ANR_UNX/' DURATION=1 DURUNITS=HOURS PERUNITS=ONETIME STARTDATE=${STARTDATE} STARTTIME=${STARTTIME} OPTIONS=\"-FROMNODE=${PACK_NODE[$DEPL_PACK_ID]} -POSTSCHEDULECMD='/usr/tivoli/tsm/client/IBM_ANR_UNX/v${VERSIONNUM}/${LL_NAME[$DEPL_PACK_ID]}>/usr/tivoli/tsm/client/IBM_ANR_UNX/v${VERSIONNUM}/upmin#SCHEDULE=${DEPL_SCH_NAME}#DOMAIN=${DEPL_DOM_NAME}#nodeinfo2=TBD' -SUB=YES -REPLACE=ALL\"" | tee $TMP_FILE >> $LOG_FILE;
-        RC=$?+
         ;;         ;;
         *)         *)
Sor 172: Sor 208:
         continue;         continue;
         ;;         ;;
-  esac +      esac 
-  if [[ $RC -ne ]]; then+      if [[ $(grep -c "ANR2500I" $TMP_FILE) -ne ]]; then
         printf "${red}A(z) ${DEPL_SCH_NAME} utemezes bedefinialasa sikertelen!${end}\n\n"         printf "${red}A(z) ${DEPL_SCH_NAME} utemezes bedefinialasa sikertelen!${end}\n\n"
 +        if [[ $(grep -c "ANR2618E" $TMP_FILE) -gt 0 ]]; then
 +            printf "A ${DEPL_DOM_NAME} domainben mar letezik ilyen utemezes, lasd alabb. Hozzarendeljem ezt a node-ot (is) ehhez?\n${gry}" 
 +            $DSMADMC "QUERY SCHEDULE ${DEPL_DOM_NAME} ${DEPL_SCH_NAME}"
 +        fi
 +        printf "${end}[i/n]:"
 +        read VALASZ
 +        if [[ $VALASZ =~ [^iI] ]]; then
 +            continue;
 +        fi
 +      fi
 +# A NODE TARGETLEVEL-JENEK BEALLITASA
 +      $DSMADMC "UPDATE NODE $NODE TARGETLEVEL=${VERSION[$DEPL_PACK_ID]}" | tee -a $LOG_FILE
 +      if [[ ${PIPESTATUS[0]} -ne 0 ]]; then
 +        printf "${red}A(z) node TARGETLEVEL-enek beallitasa ${VERSION[$DEPL_PACK_ID]}-re sikertelen!${end}\n\n" | tee -a $LOG_FILE
         continue;         continue;
-  fi +      fi 
-  $DSMADMC "UPDATE NODE $NODE TARGETLEVEL=${VERSION[$DEPL_PACK_ID]}" +# NODE ASSZOCIACIOK BEDEFINIALASA 
-  if [[ $RC -ne 0 ]]; then +      $DSMADMC "DEFINE ASSOCIATION ${DEPL_DOM_NAME} ${DEPL_SCH_NAME} ${NODE}" | tee -a $LOG_FILE 
-        printf "${red}A(z) node TARGETLEVEL-enek beallitasa ${VERSION[$DEPL_PACK_ID]}-re sikertelen!${end}\n\n"+      if [[ ${PIPESTATUS[0]} -ne 0 ]]; then 
 +        printf "${red}A(z) $NODE node hozzarendelese a(z) ${DEPL_SCH_NAMEutemezeshez sikertelen!${end}\n\n" | tee -a $LOG_FILE
         continue;         continue;
-  fi +      fi 
-  $DSMADMC "DEFINE ASSOCIATION ${DELP_DOM_NAME} ${DEPL_SCH_NAME} ${NODE}" +      echo 
-  if [[ $RC -ne 0 ]]; then +    done 
-        printf "${red}A(z) $NODE node hozzarendelese a(z) ${DEPL_SCH_NAME} utemezeshez sikerleten!${end}\n\n" +    fi 
-        continue; +done
-  fi +
-  echo +
-done +
 </file> </file>
 </WRAP> </WRAP>