v_suspend_dns_domain 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/bash
  2. # info: suspend dns domain
  3. # options: user domain
  4. #
  5. # The function suspends a certain user's domain.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument defenition
  10. user=$1
  11. domain=$(idn -t --quiet -u "$2" )
  12. domain_idn=$(idn -t --quiet -a "$domain")
  13. # Importing variables
  14. source $VESTA/conf/vars.conf
  15. source $V_CONF/vesta.conf
  16. source $V_FUNC/shared.func
  17. source $V_FUNC/domain.func
  18. #----------------------------------------------------------#
  19. # Verifications #
  20. #----------------------------------------------------------#
  21. # Checking arg number
  22. check_args '2' "$#" 'user domain'
  23. # Checking argument format
  24. format_validation 'user' 'domain'
  25. # Checking web system is enabled
  26. is_system_enabled 'dns'
  27. # Checking user
  28. is_user_valid
  29. # Checking domain exist
  30. is_dns_domain_valid
  31. # Checking domain is not suspened
  32. is_domain_suspended 'dns'
  33. #----------------------------------------------------------#
  34. # Action #
  35. #----------------------------------------------------------#
  36. # Defining config
  37. conf="/etc/named.conf"
  38. rm_string=$(grep -n /etc/namedb/$domain.db $conf|cut -d : -f 1)
  39. if [ ! -z "$rm_string" ]; then
  40. sed -i "$rm_string d" $conf
  41. fi
  42. #----------------------------------------------------------#
  43. # Vesta #
  44. #----------------------------------------------------------#
  45. # Adding suspend in config
  46. update_dns_domain_value '$SUSPEND' 'yes'
  47. # Adding task to the vesta pipe
  48. restart_schedule 'dns'
  49. # Logging
  50. log_event 'system' "$V_EVENT"
  51. exit