v-update-user-disk 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. # info: update user disk usage
  3. # options: USER
  4. # labels: panel
  5. #
  6. # example: v-update-user-disk admin
  7. #
  8. # The functions recalculates disk usage and updates database.
  9. #----------------------------------------------------------#
  10. # Variable&Function #
  11. #----------------------------------------------------------#
  12. # Argument definition
  13. user=$1
  14. # Includes
  15. source $HESTIA/func/main.sh
  16. source $HESTIA/conf/hestia.conf
  17. #----------------------------------------------------------#
  18. # Verifications #
  19. #----------------------------------------------------------#
  20. check_args '1' "$#" 'USER'
  21. is_format_valid 'user'
  22. is_object_valid 'user' 'USER' "$user"
  23. #----------------------------------------------------------#
  24. # Action #
  25. #----------------------------------------------------------#
  26. # Saving old IFS
  27. OLDIFS=$IFS
  28. IFS=$(echo -en "\n\b")
  29. #Starting update disk space excluding web, mail, conf directory
  30. disk_usage='0'
  31. disk_usage=$(du -shm $HOMEDIR/$user --exclude $HOMEDIR/$user/web --exclude $HOMEDIR/$user/mail --exclude $HOMEDIR/$user/conf |cut -f 1 )
  32. # Restoring old IFS
  33. IFS=$OLDIFS
  34. # Updating disk value in config
  35. update_user_value "$user" '$U_DISK_DIRS' "$disk_usage"
  36. #----------------------------------------------------------#
  37. # Hestia #
  38. #----------------------------------------------------------#
  39. # Recalculating user disk space
  40. recalc_user_disk_usage
  41. # Logging
  42. log_event "$OK" "$ARGUMENTS"
  43. exit