v-list-database 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. # shellcheck source=/usr/local/hestia/func/main.sh
  18. source $HESTIA/func/main.sh
  19. # JSON list function
  20. json_list() {
  21. echo '{'
  22. echo ' "'$database'": {
  23. "DATABASE": "'$DB'",
  24. "DBUSER": "'$DBUSER'",
  25. "HOST": "'$HOST'",
  26. "TYPE": "'$TYPE'",
  27. "CHARSET": "'$CHARSET'",
  28. "U_DISK": "'$U_DISK'",
  29. "SUSPENDED": "'$SUSPENDED'",
  30. "TIME": "'$TIME'",
  31. "DATE": "'$DATE'"
  32. }'
  33. echo '}'
  34. }
  35. # SHELL list function
  36. shell_list() {
  37. echo "DATABASE: $DB"
  38. echo "DB USER: $DBUSER"
  39. echo "HOST: $HOST"
  40. echo "TYPE: $TYPE"
  41. echo "CHARSET: $CHARSET"
  42. echo "DISK: $U_DISK"
  43. echo "SUSPENDED: $SUSPENDED"
  44. echo "TIME: $TIME"
  45. echo "DATE: $DATE"
  46. }
  47. # PLAIN list function
  48. plain_list() {
  49. echo -ne "$DB\t$DBUSER\t$HOST\t$TYPE\t$CHARSET\t$U_DISK\t"
  50. echo -e "$SUSPENDED\t$TIME\t$DATE"
  51. }
  52. # CSV list function
  53. csv_list() {
  54. echo "DATABASE,DBUSER,HOST,TYPE,CHARSET,U_DISK,SUSPENDED,TIME,DATE"
  55. echo "$DB,$DBUSER,$HOST,$TYPE,$CHARSET,$U_DISK,$SUSPENDED,$TIME,$DATE"
  56. }
  57. #----------------------------------------------------------#
  58. # Verifications #
  59. #----------------------------------------------------------#
  60. check_args '2' "$#" 'USER DATABASE [FORMAT]'
  61. is_format_valid 'user' 'database'
  62. is_object_valid 'user' 'USER' "$user"
  63. is_object_valid 'db' 'DB' "$database"
  64. #----------------------------------------------------------#
  65. # Action #
  66. #----------------------------------------------------------#
  67. # Parsing database
  68. parse_object_kv_list $(grep "DB='$database'" $USER_DATA/db.conf)
  69. # Listing data
  70. case $format in
  71. json) json_list ;;
  72. plain) plain_list ;;
  73. csv) csv_list ;;
  74. shell) shell_list ;;
  75. esac
  76. #----------------------------------------------------------#
  77. # Hestia #
  78. #----------------------------------------------------------#
  79. exit