v-list-database-host 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #!/bin/bash
  2. # info: list database host
  3. # options: TYPE HOST [FORMAT]
  4. #
  5. # The function for obtaining database host parameters.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. type=$1
  11. host=$2
  12. format=${3-shell}
  13. # Includes
  14. source $VESTA/func/main.sh
  15. # JSON list function
  16. json_list() {
  17. echo '{'
  18. echo ' "'$HOST'": {
  19. "HOST": "'$HOST'",
  20. "TYPE": "'$type'",
  21. "CHARSETS": "'$CHARSETS'",
  22. "MAX_DB": "'$MAX_DB'",
  23. "U_SYS_USERS": "'$U_SYS_USERS'",
  24. "U_DB_BASES": "'$U_DB_BASES'",
  25. "TPL": "'$TPL'",
  26. "SUSPENDED": "'$SUSPENDED'",
  27. "TIME": "'$TIME'",
  28. "DATE": "'$DATE'"
  29. }'
  30. echo '}'
  31. }
  32. # SHELL list function
  33. shell_list() {
  34. echo "HOST: $HOST"
  35. echo "TYPE: $type"
  36. echo "CHARSETS: $CHARSETS"
  37. echo "MAX_DB: $MAX_DB"
  38. echo "U_DB_BASES: $U_DB_BASES"
  39. echo "U_SYS_USERS: $U_SYS_USERS"
  40. echo "TPL: $TPL"
  41. echo "SUSPENDED: $SUSPENDED"
  42. echo "TIME: $TIME"
  43. echo "DATE: $DATE"
  44. }
  45. # PLAIN list function
  46. plain_list() {
  47. echo -ne "$HOST\t$type\t$CHARSETS\t$MAX_DB\t$U_SYS_USERS\t"
  48. echo -e "$U_DB_BASES\t$TPL\t$SUSPENDED\t$TIME\t$DATE"
  49. }
  50. # CSV list function
  51. csv_list() {
  52. echo -n "HOST,TYPE,CHARSETS,MAX_DB,U_SYS_USERS,"
  53. echo "U_DB_BASES,TPL,SUSPENDED,TIME,DATE'"
  54. echo -n "$HOST,$type,\"$CHARSETS\",$MAX_DB,\"$U_SYS_USERS\","
  55. echo "$U_DB_BASES,$TPL,$SUSPENDED,$TIME,$DATE"
  56. }
  57. # Type format validator
  58. is_type_format_valid() {
  59. exclude="[!|#|$|^|&|(|)|+|=|{|}|:|@|<|>|?|/|\|\"|'|;|%|\`| ]|\."
  60. if [[ "$1" =~ $exclude ]]; then
  61. check_result $E_INVALID "invalid type extention format :: $1"
  62. fi
  63. }
  64. #----------------------------------------------------------#
  65. # Verifications #
  66. #----------------------------------------------------------#
  67. check_args '2' "$#" 'TYPE HOST [FORMAT]'
  68. is_type_format_valid "$type"
  69. is_object_valid "../../conf/$type" 'HOST' "$host"
  70. #----------------------------------------------------------#
  71. # Action #
  72. #----------------------------------------------------------#
  73. # Parsing hosts
  74. eval $(grep "HOST='$host'" $VESTA/conf/$type.conf)
  75. # Listing data
  76. case $format in
  77. json) json_list ;;
  78. plain) plain_list ;;
  79. csv) csv_list ;;
  80. shell) shell_list |column -t ;;
  81. esac
  82. #----------------------------------------------------------#
  83. # Vesta #
  84. #----------------------------------------------------------#
  85. exit