v-list-sys-db-status 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/bin/bash
  2. # info: list db status
  3. # options: [FORMAT]
  4. #
  5. # The function lists db server status
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. #format=${1-shell}
  11. # Includes
  12. #source $VESTA/func/main.sh
  13. source $VESTA/conf/vesta.conf
  14. #----------------------------------------------------------#
  15. # Action #
  16. #----------------------------------------------------------#
  17. # Checking db system
  18. if [ -z "$DB_SYSTEM" ]; then
  19. exit
  20. fi
  21. # Checking supported database systems
  22. for db in $(echo $DB_SYSTEM| tr ',' '\n'); do
  23. OLD_IFS="$IFS"
  24. IFS=$'\n'
  25. # Checking database config
  26. if [ -e "$VESTA/conf/$db.conf" ]; then
  27. # Checking server status
  28. for host_str in $(cat $VESTA/conf/$db.conf); do
  29. eval $host_str
  30. # Checking MySQL
  31. if [ "$db" = 'mysql' ]; then
  32. mycnf="$VESTA/conf/.mysql.$HOST"
  33. if [ ! -e "$mycnf" ]; then
  34. echo "[client]">$mycnf
  35. echo "host='$HOST'" >> $mycnf
  36. echo "user='$USER'" >> $mycnf
  37. echo "password='$PASSWORD'" >> $mycnf
  38. chmod 600 $mycnf
  39. else
  40. mypw=$(grep password $mycnf|cut -f 2 -d \')
  41. if [ "$mypw" != "$PASSWORD" ]; then
  42. echo "[client]">$mycnf
  43. echo "host='$HOST'" >> $mycnf
  44. echo "user='$USER'" >> $mycnf
  45. echo "password='$PASSWORD'" >> $mycnf
  46. chmod 660 $mycnf
  47. fi
  48. fi
  49. echo "MySQL $HOST status"
  50. mysqladmin --defaults-file=$mycnf status |sed -e "s/ /\n/g"
  51. echo
  52. mysqladmin --defaults-file=$mycnf processlist
  53. echo -en "\n-------------------------------------"
  54. echo -en "-------------------------------------\n\n"
  55. fi
  56. # Checking PostgreSQL
  57. if [ "$db" = 'pgsql' ] && [ ! -z "$(which psql)" ]; then
  58. echo "PostgreSQL $HOST status"
  59. export PGPASSWORD="$PASSWORD"
  60. psql -h $HOST -U $USER -c "SELECT * FROM pg_stat_activity"
  61. fi
  62. done
  63. fi
  64. IFS="$OLD_IFS"
  65. done
  66. #----------------------------------------------------------#
  67. # Vesta #
  68. #----------------------------------------------------------#
  69. exit