v-change-sys-config-value 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. format_no_quotes "$value" 'value'
  23. #----------------------------------------------------------#
  24. # Action #
  25. #----------------------------------------------------------#
  26. # Updating conf
  27. check_ckey=$(grep "^$key='" $VESTA/conf/vesta.conf)
  28. if [ -z "$check_ckey" ]; then
  29. echo "$key='$value'" >> $VESTA/conf/vesta.conf
  30. else
  31. sed -i "s|$key=.*|$key='$value'|g" $VESTA/conf/vesta.conf
  32. fi
  33. if [ "$key" = "BACKUP" ] && [ "$value" != '/backup' ]; then
  34. rm /backup
  35. ln -s $value /backup
  36. fi
  37. #----------------------------------------------------------#
  38. # Vesta #
  39. #----------------------------------------------------------#
  40. # Logging
  41. log_event "$OK" "$ARGUMENTS"
  42. exit