v-change-sys-ip-status 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/bash
  2. # info: change ip status
  3. # options: ip ip_status
  4. #
  5. # The function of changing an ip address's status.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument defenition
  10. ip=$1
  11. ip_status=$2
  12. # Includes
  13. source $VESTA/func/main.sh
  14. source $VESTA/func/ip.sh
  15. #----------------------------------------------------------#
  16. # Verifications #
  17. #----------------------------------------------------------#
  18. check_args '2' "$#" 'ip ip_status'
  19. validate_format 'ip' 'ip_status'
  20. is_ip_valid
  21. if [ "$ip_status" = "$(get_ip_value '$STATUS')" ]; then
  22. echo "Error: status $ip_status is already set"
  23. log_event "$E_EXISTS" "$EVENT"
  24. exit $E_EXISTS
  25. fi
  26. web_domains=$(get_ip_value '$U_WEB_DOMAINS')
  27. sys_user=$(get_ip_value '$U_SYS_USERS')
  28. ip_owner=$(get_ip_value '$OWNER')
  29. if [ "$web_domains" -ne '0' ] && [ "$sys_user" != "$ip_owner" ]; then
  30. echo "Error: ip $ip is used"
  31. log_event "$E_INUSE" "$EVENT"
  32. exit $E_INUSE
  33. fi
  34. #----------------------------------------------------------#
  35. # Action #
  36. #----------------------------------------------------------#
  37. # Changing ip name
  38. update_ip_value '$STATUS' "$ip_status"
  39. #----------------------------------------------------------#
  40. # Vesta #
  41. #----------------------------------------------------------#
  42. # Logging
  43. log_history "changed $ip status to $ip_status" '' 'admin'
  44. log_event "$OK" "$EVENT"
  45. exit