[bash] ssh_lb

Viewer

  1. !/bin/bash
  2.  
  3. servers=("client.web.bopp-01" "client.web.bopp-02")
  4.  
  5. for server in "${servers[@]}"do
  6. status_code_server1=$(curl --write-out %{http_code} --silent --output /dev/null https://server1)
  7. status_code_server2=$(curl --write-out %{http_code} --silent --output /dev/null https://server2)
  8.  
  9.  if [[ "$status_code_server1" -eq 200 ]] && [[ "$status_code_server2" -eq 200 ]]then
  10.   echo "both sites are ups, Site status is $status_code_server1, mv file on $server" >> output.log
  11.   ssh $server "bash /home/ansible/client.sh"
  12.  elif [[ "$status_code_server1" -eq 200 ]] && [[ "$status_code_server2" -ne 200 ]]then
  13.   echo "Site status is $status_code_server1, mv file on server1" >> output.log
  14.   ssh client.web.bopp-01 "bash /home/ansible/client.sh"
  15.  elif [[ "$status_code_server2" -eq 200 ]] && [[ "$status_code_server1" -ne 200 ]]then
  16.   echo "Site status is $status_code_server2 , mv file on server2" >> output.log
  17.   ssh client.web.bopp-02 "bash /home/ansible/client.sh"
  18. fi
  19.  
  20. sleep 5m
  21.  
  22. done
  23.  

Editor

You can edit this paste and save as new: