v-list-sys-ip 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #!/bin/bash
  2. # info: list system ip
  3. # options: IP [FORMAT]
  4. #
  5. # The function for getting the list of system ip parameters.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. ip=$1
  11. format=${2-shell}
  12. # Includes
  13. source $VESTA/func/main.sh
  14. source $VESTA/func/ip.sh
  15. # JSON list function
  16. json_list() {
  17. echo '{'
  18. echo ' "'$ip'": {
  19. "OWNER": "'$OWNER'",
  20. "STATUS": "'$STATUS'",
  21. "NAME": "'$NAME'",
  22. "U_SYS_USERS": "'$U_SYS_USERS'",
  23. "U_WEB_DOMAINS": "'$U_WEB_DOMAINS'",
  24. "INTERFACE": "'$INTERFACE'",
  25. "NETMASK": "'$NETMASK'",
  26. "NAT": "'$NAT'",
  27. "TIME": "'$TIME'",
  28. "DATE": "'$DATE'"
  29. }'
  30. echo '}'
  31. }
  32. # SHELL list function
  33. shell_list() {
  34. echo "IP: $ip"
  35. echo "NETMASK: $NETMASK"
  36. echo "INTERFACE: $INTERFACE"
  37. echo "NAT: $NAT"
  38. echo "OWNER: $OWNER"
  39. echo "STATUS: $STATUS"
  40. echo "NAME: $NAME"
  41. echo "USERS: $U_SYS_USERS"
  42. echo "DOMAINS: $U_WEB_DOMAINS"
  43. echo "TIME: $TIME"
  44. echo "DATE: $DATE"
  45. }
  46. # PLAIN list function
  47. plain_list() {
  48. echo -ne "$IP\t$OWNER\t$STATUS\t$NAME\t$U_SYS_USERS\t$U_WEB_DOMAINS\t"
  49. echo -e "$INTERFACE\t$NETMASK\t$NAT\t$TIME\t$DATE"
  50. }
  51. # CSV list function
  52. csv_list() {
  53. echo -n "IP,OWNER,STATUS,NAME,U_SYS_USERS,U_WEB_DOMAINS,INTERFACE"
  54. echo "NETMASK,NAT,TIME,DATE"
  55. echo -n "$IP,$OWNER,$STATUS,$NAME,\"$U_SYS_USERS\",$U_WEB_DOMAINS,"
  56. echo "$INTERFACE, $NETMASK,$NAT,$TIME,$DATE"
  57. }
  58. #----------------------------------------------------------#
  59. # Verifications #
  60. #----------------------------------------------------------#
  61. check_args '1' "$#" 'IP [FORMAT]'
  62. is_format_valid 'ip'
  63. if [ ! -e "$VESTA/data/ips/$ip" ]; then
  64. check_result $E_NOTEXIST "ip $ip doesn't exist"
  65. fi
  66. #----------------------------------------------------------#
  67. # Action #
  68. #----------------------------------------------------------#
  69. # Parsing ip
  70. source $VESTA/data/ips/$ip
  71. # Listing data
  72. case $format in
  73. json) json_list ;;
  74. plain) plain_list ;;
  75. csv) csv_list ;;
  76. shell) shell_list ;;
  77. esac
  78. #----------------------------------------------------------#
  79. # Vesta #
  80. #----------------------------------------------------------#
  81. exit