v-list-database 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #!/bin/bash
  2. # info: list database
  3. # options: USER DATABASE [FORMAT]
  4. #
  5. # The function for obtaining of all database's parameters.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. database=$2
  12. format=${3-shell}
  13. # Includes
  14. source $VESTA/func/main.sh
  15. # JSON list function
  16. json_list() {
  17. echo '{'
  18. echo ' "'$database'": {
  19. "DATABASE": "'$DB'",
  20. "DBUSER": "'$DBUSER'",
  21. "HOST": "'$HOST'",
  22. "TYPE": "'$TYPE'",
  23. "CHARSET": "'$CHARSET'",
  24. "U_DISK": "'$U_DISK'",
  25. "SUSPENDED": "'$SUSPENDED'",
  26. "TIME": "'$TIME'",
  27. "DATE": "'$DATE'"
  28. }'
  29. echo '}'
  30. }
  31. # SHELL list function
  32. shell_list() {
  33. echo "DATABASE: $DB"
  34. echo "DB USER: $DBUSER"
  35. echo "HOST: $HOST"
  36. echo "TYPE: $TYPE"
  37. echo "CHARSET: $CHARSET"
  38. echo "DISK: $U_DISK"
  39. echo "SUSPENDED: $SUSPENDED"
  40. echo "TIME: $TIME"
  41. echo "DATE: $DATE"
  42. }
  43. # PLAIN list function
  44. plain_list() {
  45. echo -ne "$DB\t$DBUSER\t$HOST\t$TYPE\t$CHARSET\t$U_DISK\t"
  46. echo -e "$SUSPENDED\t$TIME\t$DATE"
  47. }
  48. # CSV list function
  49. csv_list() {
  50. echo "DATABASE,DBUSER,HOST,TYPE,CHARSET,U_DISK,SUSPENDED,TIME,DATE"
  51. echo "$DB,$DBUSER,$HOST,$TYPE,$CHARSET,$U_DISK,$SUSPENDED,$TIME,$DATE"
  52. }
  53. #----------------------------------------------------------#
  54. # Verifications #
  55. #----------------------------------------------------------#
  56. check_args '2' "$#" 'USER DATABASE [FORMAT]'
  57. is_format_valid 'user' 'database'
  58. is_object_valid 'user' 'USER' "$user"
  59. is_object_valid 'db' 'DB' "$database"
  60. #----------------------------------------------------------#
  61. # Action #
  62. #----------------------------------------------------------#
  63. # Parsing database
  64. eval $(grep "DB='$database'" $USER_DATA/db.conf)
  65. # Listing data
  66. case $format in
  67. json) json_list ;;
  68. plain) plain_list ;;
  69. csv) csv_list ;;
  70. shell) shell_list ;;
  71. esac
  72. #----------------------------------------------------------#
  73. # Vesta #
  74. #----------------------------------------------------------#
  75. exit