v-change-sys-config-value 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/bin/bash
  2. # info: change sysconfig value
  3. # options: KEY VALUE
  4. #
  5. # The function is for changing main config settings such as COMPANY_NAME or
  6. # COMPANY_EMAIL and so on.
  7. #----------------------------------------------------------#
  8. # Variable&Function #
  9. #----------------------------------------------------------#
  10. # Argument definition
  11. key=$(echo "$1" | tr '[:lower:]' '[:upper:]' )
  12. value=$2
  13. # Includes
  14. source $VESTA/func/main.sh
  15. source $VESTA/conf/vesta.conf
  16. PATH="$PATH:/usr/local/sbin:/sbin:/usr/sbin:/root/bin"
  17. #----------------------------------------------------------#
  18. # Verifications #
  19. #----------------------------------------------------------#
  20. check_args '2' "$#" 'KEY VALUE'
  21. is_format_valid 'key'
  22. #----------------------------------------------------------#
  23. # Action #
  24. #----------------------------------------------------------#
  25. # Updating conf
  26. check_ckey=$(grep "^$key='" $VESTA/conf/vesta.conf)
  27. if [ -z "$check_ckey" ]; then
  28. echo "$key='$value'" >> $VESTA/conf/vesta.conf
  29. else
  30. sed -i "s|$key=.*|$key='$value'|g" $VESTA/conf/vesta.conf
  31. fi
  32. if [ "$key" = "BACKUP" ] && [ "$value" != '/backup' ]; then
  33. rm /backup
  34. ln -s $value /backup
  35. fi
  36. #----------------------------------------------------------#
  37. # Vesta #
  38. #----------------------------------------------------------#
  39. # Logging
  40. log_event "$OK" "$ARGUMENTS"
  41. exit