v_upd_sys_user_disk 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. # info: updating disk usage for user directories
  3. #----------------------------------------------------------#
  4. # Variable&Function #
  5. #----------------------------------------------------------#
  6. # Argument defenition
  7. user=$1
  8. # Importing variables
  9. source $VESTA/conf/vars.conf
  10. source $V_CONF/vesta.conf
  11. source $V_FUNC/shared.func
  12. #----------------------------------------------------------#
  13. # Verifications #
  14. #----------------------------------------------------------#
  15. # Checking arg number
  16. check_args '1' "$#" 'user'
  17. # Checking argument format
  18. format_validation 'user'
  19. # Checking user
  20. is_user_valid
  21. #----------------------------------------------------------#
  22. # Action #
  23. #----------------------------------------------------------#
  24. # Saving old IFS
  25. OLDIFS=$IFS
  26. IFS=$(echo -en "\n\b")
  27. # Defining directory list
  28. dir_list=$(ls $V_HOME/$user/ |grep -v '^web$' | grep -v '^mail$' |\
  29. grep -v '^conf$')
  30. # Starting update disk loop
  31. disk_usage='0'
  32. for dir in $dir_list; do
  33. dir_disk=$(du -shm "$V_HOME/$user/$dir"|cut -f 1 )
  34. disk_usage=$((disk_usage + dir_disk))
  35. done
  36. # Restoring old IFS
  37. IFS=$OLDIFS
  38. # Updating disk value in config
  39. update_user_value "$user" '$U_DIR_DISK' "$disk_usage"
  40. #----------------------------------------------------------#
  41. # Vesta #
  42. #----------------------------------------------------------#
  43. # Recalculating user disk space
  44. disk_size=$(get_usr_disk)
  45. update_user_value "$user" '$U_DISK' "$disk_size"
  46. # Logging
  47. log_event 'system' "$V_EVENT"
  48. exit