Advertisement
Guest User

Untitled

a guest
May 26th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.54 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Author: Wes Fitzpatrick
  4. #
  5. # Use At Own Risk!
  6. #
  7. # Only works on a set of pre-defined attributes in a specific order.
  8. #
  9. # To add more attributes, add them to the end of the search query, then append
  10. # the index no to the final output e.g.
  11. # *$HOME: ${LOCSI[n]}"
  12. # $APPLIANCE: ${REMSI[n]}"
  13. # n = last indexed attribute in search query.
  14. #
  15. # NOTE: SI name is used instead of Key as this normally incorporates host.key
  16. # which varies from appliance to appliance.
  17. #
  18. # Change History:
  19. # 01/06/2012 - Created
  20. #
  21.  
  22. APPLIANCE=$1
  23. HOME=`hostname -f`
  24. IFS=","
  25. USER="user"
  26. PASS="password"
  27. REMOTEPASS="password" # If different
  28. LOCAL_TEMP="attr_local.tmp"
  29. REMOTE_TEMP="attr_remote.tmp"
  30.  
  31. echo "Appliance to compare SI attributes: $APPLIANCE"
  32. echo ""
  33. echo -n "Enter Software Instance NAME: "
  34. read KEY
  35. echo ""
  36.  
  37. SEARCH="search SoftwareInstance where name = \"$KEY\" order by age_count desc show #:HostedSoftware:Host:Host.hostname as
  38. 'Hostname', key, age_count, count, instance, edition, version, product_version, server_name, cell_name, install_root, jmx_enabled,
  39. jmx_port, node_name, profile_dir, last_update_success, _version_method, allowed_unique_connections, aqualogic_sb_installed,
  40. bea_home, channels, cluster, config_file, cpus_licensed, default_protocol, default_secure_protocol, domain, key_group,
  41. license_expiry_date, license_type, licensee, listen_address, listen_port, portal_installed, service_pack, ssl_listen_port,
  42. workshop_installed, patch, multicast_address, jmx_ip, __possible_jolt_aliases"
  43.  
  44. echo ""
  45. echo "Full search string:"
  46. echo "tw_query -u $USER -p $PASS --csv '$SEARCH' | tail -n +2"
  47. echo ""
  48. tw_query -u $USER -p $PASS --csv "${SEARCH}" | tail -n +2 > $LOCAL_TEMP
  49. echo ""
  50. ssh tideway@${APPLIANCE} "tw_query -u $USER -p $REMOTEPASS --csv '${SEARCH}'" | tail -n +2 > $REMOTE_TEMP
  51.  
  52. if [ -s $LOCAL_TEMP ]; then
  53. echo -n "Local query OK... "
  54. if [ `cat $LOCAL_TEMP | wc -l` -gt 1 ]; then
  55. echo "More than 1 line returned, will use top result!"
  56. echo ""
  57. cat $LOCAL_TEMP
  58. echo ""
  59. read -r LOCAL < $LOCAL_TEMP
  60. else
  61. read -r LOCAL < $LOCAL_TEMP
  62. fi
  63. else
  64. echo "No results for LOCAL query!"
  65. echo ""
  66. exit 0
  67. fi
  68. if [ -s $REMOTE_TEMP ]; then
  69. echo ""
  70. echo -n "Remote query OK... "
  71. if [ `cat $REMOTE_TEMP | wc -l` -gt 1 ]; then
  72. echo ""
  73. echo "More than 1 line returned, will use top result!"
  74. echo ""
  75. cat $REMOTE_TEMP
  76. echo ""
  77. read -r REMOTE < $REMOTE_TEMP
  78. else
  79. read -r REMOTE < $REMOTE_TEMP
  80. fi
  81. else
  82. echo "No results for REMOTE query!"
  83. echo ""
  84. exit 0
  85. fi
  86.  
  87. LOCSI=( $LOCAL )
  88. REMSI=( $REMOTE )
  89.  
  90. echo ""
  91. echo ""
  92. echo "*this appliance"
  93. echo ""
  94. echo "=== KEY ==="
  95. echo " *$HOME: ${LOCSI[1]}"
  96. echo " $APPLIANCE: ${REMSI[1]}"
  97. echo ""
  98. echo "=== KEY GROUP ==="
  99. echo " *$HOME: ${LOCSI[27]}"
  100. echo " $APPLIANCE: ${REMSI[27]}"
  101. echo ""
  102. echo "=== AGE COUNT ==="
  103. echo " *$HOME: ${LOCSI[2]}"
  104. echo " $APPLIANCE: ${REMSI[2]}"
  105. echo ""
  106. echo "=== INSTANCE COUNT ==="
  107. echo " *$HOME: ${LOCSI[3]}"
  108. echo " $APPLIANCE: ${REMSI[3]}"
  109. echo ""
  110. echo "=== INSTANCE ==="
  111. echo " *$HOME: ${LOCSI[4]}"
  112. echo " $APPLIANCE: ${REMSI[4]}"
  113. echo ""
  114. echo "=== EDITION ==="
  115. echo " *$HOME: ${LOCSI[5]}"
  116. echo " $APPLIANCE: ${REMSI[5]}"
  117. echo ""
  118. echo "=== VERSION ==="
  119. echo " *$HOME: ${LOCSI[6]}"
  120. echo " $APPLIANCE: ${REMSI[6]}"
  121. echo ""
  122. echo "=== PRODUCT VERSION ==="
  123. echo " *$HOME: ${LOCSI[7]}"
  124. echo " $APPLIANCE: ${REMSI[7]}"
  125. echo ""
  126. echo "=== VERSION METHOD ==="
  127. echo " *$HOME: ${LOCSI[16]}"
  128. echo " $APPLIANCE: ${REMSI[16]}"
  129. echo ""
  130. echo "=== PATCH ==="
  131. echo " *$HOME: ${LOCSI[37]}"
  132. echo " $APPLIANCE: ${REMSI[36]}"
  133. echo ""
  134. echo "=== SERVICE PACK ==="
  135. echo " *$HOME: ${LOCSI[34]}"
  136. echo " $APPLIANCE: ${REMSI[34]}"
  137. echo ""
  138. echo "=== SERVER NAME ==="
  139. echo " *$HOME: ${LOCSI[8]}"
  140. echo " $APPLIANCE: ${REMSI[8]}"
  141. echo ""
  142. echo "=== CELL NAME ==="
  143. echo " *$HOME: ${LOCSI[9]}"
  144. echo " $APPLIANCE: ${REMSI[9]}"
  145. echo ""
  146. echo "=== INSTALL ROOT ==="
  147. echo " *$HOME: ${LOCSI[10]}"
  148. echo " $APPLIANCE: ${REMSI[10]}"
  149. echo ""
  150. echo "=== CONFIG FILE ==="
  151. echo " *$HOME: ${LOCSI[22]}"
  152. echo " $APPLIANCE: ${REMSI[22]}"
  153. echo ""
  154. echo "=== CLUSTER ==="
  155. echo " *$HOME: ${LOCSI[21]}"
  156. echo " $APPLIANCE: ${REMSI[21]}"
  157. echo ""
  158. echo "=== JMX ENABLED ==="
  159. echo " *$HOME: ${LOCSI[11]}"
  160. echo " $APPLIANCE: ${REMSI[11]}"
  161. echo ""
  162. echo "=== JMX PORT ==="
  163. echo " *$HOME: ${LOCSI[12]}"
  164. echo " $APPLIANCE: ${REMSI[12]}"
  165. echo ""
  166. echo "=== JMX IP ==="
  167. echo " *$HOME: ${LOCSI[39]}"
  168. echo " $APPLIANCE: ${REMSI[39]}"
  169. echo ""
  170. echo "=== BEA HOME ==="
  171. echo " *$HOME: ${LOCSI[19]}"
  172. echo " $APPLIANCE: ${REMSI[19]}"
  173. echo ""
  174. echo "=== NODE NAME ==="
  175. echo " *$HOME: ${LOCSI[13]}"
  176. echo " $APPLIANCE: ${REMSI[13]}"
  177. echo ""
  178. echo "=== PROFILE DIR ==="
  179. echo " *$HOME: ${LOCSI[14]}"
  180. echo " $APPLIANCE: ${REMSI[14]}"
  181. echo ""
  182. echo "=== LAST UPDATE SUCCESS ==="
  183. echo " *$HOME: ${LOCSI[15]}"
  184. echo " $APPLIANCE: ${REMSI[15]}"
  185. echo ""
  186. echo "=== ALLOWED UNIQUE CONNECTIONS ==="
  187. echo " *$HOME: ${LOCSI[17]}"
  188. echo " $APPLIANCE: ${REMSI[17]}"
  189. echo ""
  190. echo "=== AQUALOGIC SB INSTALLED ==="
  191. echo " *$HOME: ${LOCSI[18]}"
  192. echo " $APPLIANCE: ${REMSI[18]}"
  193. echo ""
  194. echo "=== CHANNELS ==="
  195. echo " *$HOME: ${LOCSI[20]}"
  196. echo " $APPLIANCE: ${REMSI[20]}"
  197. echo ""
  198. echo "=== CPUS_LICENSED ==="
  199. echo " *$HOME: ${LOCSI[23]}"
  200. echo " $APPLIANCE: ${REMSI[23]}"
  201. echo ""
  202. echo "=== LICENSE TYPE ==="
  203. echo " *$HOME: ${LOCSI[29]}"
  204. echo " $APPLIANCE: ${REMSI[29]}"
  205. echo ""
  206. echo "=== LICENSE EXPIRY DATE ==="
  207. echo " *$HOME: ${LOCSI[28]}"
  208. echo " $APPLIANCE: ${REMSI[28]}"
  209. echo ""
  210. echo "=== LICENSEE ==="
  211. echo " *$HOME: ${LOCSI[30]}"
  212. echo " $APPLIANCE: ${REMSI[30]}"
  213. echo ""
  214. echo "=== DEFAULT PROTOCOL ==="
  215. echo " *$HOME: ${LOCSI[24]}"
  216. echo " $APPLIANCE: ${REMSI[24]}"
  217. echo ""
  218. echo "=== DEFAULT SECURE PROTOCOL ==="
  219. echo " *$HOME: ${LOCSI[25]}"
  220. echo " $APPLIANCE: ${REMSI[25]}"
  221. echo ""
  222. echo "=== DOMAIN ==="
  223. echo " *$HOME: ${LOCSI[26]}"
  224. echo " $APPLIANCE: ${REMSI[26]}"
  225. echo ""
  226. echo "=== LISTEN ADDRESS ==="
  227. echo " *$HOME: ${LOCSI[31]}"
  228. echo " $APPLIANCE: ${REMSI[31]}"
  229. echo ""
  230. echo "=== LISTEN PORT ==="
  231. echo " *$HOME: ${LOCSI[32]}"
  232. echo " $APPLIANCE: ${REMSI[32]}"
  233. echo ""
  234. echo "=== SSL LISTEN PORT ==="
  235. echo " *$HOME: ${LOCSI[35]}"
  236. echo " $APPLIANCE: ${REMSI[35]}"
  237. echo ""
  238. echo "=== PORTAL INSTALLED ==="
  239. echo " *$HOME: ${LOCSI[33]}"
  240. echo " $APPLIANCE: ${REMSI[33]}"
  241. echo ""
  242. echo "=== WORKSHOP INSTALLED ==="
  243. echo " *$HOME: ${LOCSI[36]}"
  244. echo " $APPLIANCE: ${REMSI[36]}"
  245. echo ""
  246. echo "=== MULTICAST ADDRESS ==="
  247. echo " *$HOME: ${LOCSI[38]}"
  248. echo " $APPLIANCE: ${REMSI[38]}"
  249. echo ""
  250. echo "=== POSSIBLE JOLT ALIASES ==="
  251. echo " *$HOME: ${LOCSI[40]}"
  252. echo " $APPLIANCE: ${REMSI[40]}"
  253. echo ""
  254. # 40 indexed attributes
  255.  
  256. unset IFS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement