v-list-database 2.4 KB

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