1
0

init.sh 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #!/bin/bash
  2. cmd() {
  3. local info="${2:-$1}"
  4. echo -e "\n\033[1;34m💡 $info\033[0m"
  5. eval "$1"
  6. }
  7. cp -r /home/admmdw/ssh/* /etc/ssh
  8. sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
  9. sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config
  10. rm -f /var/run/nologin /etc/nologin
  11. sed -i 's/account required pam_nologin.so/# account required pam_nologin.so/g' /etc/pam.d/sshd
  12. killall sshd
  13. /usr/sbin/sshd
  14. cmd "java -jar /opt/mdw/dummy/java/dist/dummy-server.jar &"
  15. export PATH=$PATH:/opt/mqm/bin
  16. cfg="/home/admmdw/config.yaml"
  17. # sudo yum -y install openssh-server && sudo ssh-keygen -A && echo "+:ALL:ALL" | sudo tee /etc/security/access.conf && sudo rm -rf /run/nologin && sudo /usr/sbin/sshd
  18. if [ "$(yq '.init' ~/config.yaml)" = "true" ]; then
  19. QInit() {
  20. mkdir -m 775 -p "/MQHA/$(echo "$1" | tr -d '.')/data" >/dev/null 2>&1
  21. mkdir -m 775 -p "/MQHA/$(echo "$1" | tr -d '.')/log" >/dev/null 2>&1
  22. crtmqm -md "/MQHA/$(echo "$1" | tr -d '.')/data" -ld "/MQHA/$(echo "$1" | tr -d '.')/log" "$1" >/dev/null 2>&1
  23. strmqm "$1" >/dev/null 2>&1
  24. echo "DEFINE LISTENER($1.QM) TRPTYPE(TCP) PORT ($2) CONTROL(STARTONLY)" | runmqsc "$1" >/dev/null 2>&1
  25. echo "DEFINE CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN)" | runmqsc "$1" >/dev/null 2>&1
  26. echo "ALTER QMGR CHLAUTH(DISABLED)" | runmqsc "$1" >/dev/null 2>&1
  27. echo "START CHANNEL(SYSTEM.ADMIN.SVRCONN)" | runmqsc "$1" >/dev/null 2>&1
  28. echo "START LISTENER($1.QM)" | runmqsc "$1" >/dev/null 2>&1
  29. echo "ALTER QMGR CONNAUTH(' ')" | runmqsc "$1" >/dev/null 2>&1
  30. echo "REFRESH SECURITY TYPE(CONNAUTH)" | runmqsc "$1" >/dev/null 2>&1
  31. echo "SET CHLAUTH(SYSTEM.ADMIN.SVRCONN) TYPE(ADDRESSMAP) ADDRESS(*) ACTION(REMOVE)" | runmqsc "$1" >/dev/null 2>&1
  32. echo "SET CHLAUTH(SYSTEM.*) TYPE(ADDRESSMAP) ADDRESS(*) ACTION(REMOVE)" | runmqsc "$1" >/dev/null 2>&1
  33. echo "SET CHLAUTH(*) TYPE(BLOCKUSER) USERLIST(*MQADMIN) ACTION(REMOVE)" | runmqsc "$1" >/dev/null 2>&1
  34. echo "ALTER CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('admmdw')" | runmqsc "$1" >/dev/null 2>&1
  35. echo "Queue Manager $1 has been created."
  36. }
  37. QScript() {
  38. local QMDIR=${1%.QM}
  39. runmqsc "$1" <"/home/admmdw/QueueManager/$QMDIR/queue.mqsc" >/dev/null 2>&1
  40. }
  41. for qm in $(yq '.queue_manager[].name' "$cfg" | tr -d '"'); do
  42. port=$(yq ".queue_manager[] | select(.name == \"$qm\") | .port" "$cfg")
  43. createqm=$(yq ".queue_manager[] | select(.name == \"$qm\") | .deploy" "$cfg")
  44. if [[ $createqm ]]; then
  45. QInit "$qm" "$port"
  46. QScript "$qm"
  47. fi
  48. done
  49. for broker in $(yq '.server_ace[].name' "$cfg" | tr -d '"'); do
  50. port=$(yq ".server_ace[] | select(.name == \"$broker\") | .port" "$cfg")
  51. executiongroups=$(yq ".server_ace[] | select(.name == \"$broker\") | .executiongroup[]" "$cfg")
  52. IFS=$'\n'
  53. cmd "mkdir -m 775 -p /MQHA/$broker"
  54. cmd "mqsicreatebroker $broker -q ${broker}.QM -e /MQHA/$broker"
  55. cmd "mqsichangeproperties $broker -b webadmin -o HTTPConnector -n port -v $port"
  56. cmd "mqsistart $broker"
  57. for executiongroup in $executiongroups; do
  58. for eg in $executiongroup; do
  59. iserver="$(echo "$eg" | tr -d '"')"
  60. cmd "mqsicreateexecutiongroup $broker -e $iserver"
  61. cmd "mqsichangeflowstats $broker -e $iserver -s -c inactive"
  62. cmd "mqsichangeresourcestats $broker -e $iserver -c inactive"
  63. cmd "mqsichangeproperties $broker -e $iserver -o ComIbmJVMManager -n jvmMaxHeapSize -v 1073741824"
  64. cmd "mqsichangeproperties $broker -e $iserver -o ComIbmJVMManager -n jvmJavaOSStackSize -v 1048576"
  65. cmd "mqsichangeproperties $broker -e $iserver -o ComIbmJVMManager -n jvmSystemProperty -v \"-Dlogback.configurationFile=/opt/IBM/ace-12.0.9.0/server/jplugin/logback.xml\""
  66. cmd "mqsireload -i $broker -e $iserver"
  67. # stop
  68. for file in /MQHA/bar/"$broker"/"$iserver"/*.bar; do
  69. cmd "mqsideploy $broker -e $iserver -a $file"
  70. done
  71. done
  72. done
  73. if [[ $broker == "ISOBROKER" ]]; then
  74. cmd "mqsisetdbparms ISOBROKER -n mq::mySecureQM -u "admmdw" -p "mdw4dmin""
  75. cmd "mqsistop ISOBROKER"
  76. cmd "mqsistart ISOBROKER"
  77. fi
  78. if [[ $broker == "BDSBROKER" ]]; then
  79. cmd "mqsisetdbparms BDSBROKER -n odbc::MDW -u db2inst1 -p mdw4dm1n"
  80. cmd "mqsisetdbparms BDSBROKER -n odbc::MWCONFIG -u db2inst1 -p mdw4dm1n"
  81. cmd "mqsichangeproperties BDSBROKER -e BDS_MT -o HTTPConnector -n ListenerPort -v 7081"
  82. cmd "mqsichangeproperties BDSBROKER -e BDS_CD -o HTTPConnector -n ListenerPort -v 7082"
  83. cmd "mqsichangeproperties BDSBROKER -e BDS_CF -o HTTPConnector -n ListenerPort -v 7083"
  84. cmd "mqsichangeproperties BDSBROKER -e BDS_DD -o HTTPConnector -n ListenerPort -v 7084"
  85. cmd "mqsichangeproperties BDSBROKER -e BDS_GL -o HTTPConnector -n ListenerPort -v 7085"
  86. cmd "mqsichangeproperties BDSBROKER -e BDS_LN -o HTTPConnector -n ListenerPort -v 7086"
  87. cmd "mqsichangeproperties BDSBROKER -e BDS_OT -o HTTPConnector -n ListenerPort -v 7087"
  88. cmd "mqsichangeproperties BDSBROKER -e BDS_RM -o HTTPConnector -n ListenerPort -v 7088"
  89. cmd "mqsichangeproperties BDSBROKER -e BDS_BP -o HTTPConnector -n ListenerPort -v 7092"
  90. cmd "mqsichangeproperties BDSBROKER -e BDS_VP -o HTTPConnector -n ListenerPort -v 7093"
  91. cmd "mqsichangeproperties BDSBROKER -e BDS_BILLPAYMENT -o HTTPConnector -n ListenerPort -v 7095"
  92. cmd "mqsistop BDSBROKER"
  93. cmd "mqsichangeproperties BDSBROKER -f -e BDS_MT -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  94. cmd "mqsichangeproperties BDSBROKER -f -e BDS_CD -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  95. cmd "mqsichangeproperties BDSBROKER -f -e BDS_CF -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  96. cmd "mqsichangeproperties BDSBROKER -f -e BDS_GL -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  97. cmd "mqsichangeproperties BDSBROKER -f -e BDS_DD -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  98. cmd "mqsichangeproperties BDSBROKER -f -e BDS_LN -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  99. cmd "mqsichangeproperties BDSBROKER -f -e BDS_OT -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  100. cmd "mqsichangeproperties BDSBROKER -f -e BDS_RM -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  101. cmd "mqsichangeproperties BDSBROKER -f -e BDS_BP -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  102. cmd "mqsichangeproperties BDSBROKER -f -e BDS_VP -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  103. cmd "mqsichangeproperties BDSBROKER -f -e BDS_BILLPAYMENT -o ExecutionGroup -n httpNodesUseEmbeddedListener -v true"
  104. cmd "mqsistart BDSBROKER"
  105. fi
  106. done
  107. # echo "$(sed 's/\(init:\) true/\1 false/' "$cfg")" > "$cfg"
  108. fi