arw_monitor.sh 750 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/bash
  2. df_dirs=(${XYZ_DF_DIRS//:/ })
  3. du_dirs=(${XYZ_DU_DIRS//:/ })
  4. cur_time=$(date "+%Y-%m-%d-%H-%M-%S")
  5. declare -A reports
  6. reports=(['cur_time']=$cur_time)
  7. function df_check() {
  8. # shellcheck disable=SC2068
  9. for dir in ${df_dirs[@]}
  10. do
  11. echo $dir
  12. ret=$(df -h | grep $dir | awk 'BEGIN{OFS=","}{print $2,$4}')
  13. echo $ret
  14. key=${dir////_}
  15. echo $key
  16. reports[$key]=$ret
  17. done
  18. }
  19. function du_check() {
  20. # shellcheck disable=SC2068
  21. for dir in ${du_dirs[@]}
  22. do
  23. echo $dir
  24. cd $dir
  25. ret=$(du -h -d 0)
  26. echo $ret
  27. key=${dir////_}
  28. echo $key
  29. reports[$key]=$ret
  30. done
  31. }
  32. df_check
  33. #du_check
  34. echo ${!reports[*]}
  35. echo start
  36. for key in $(echo ${!reports[*]})
  37. do
  38. echo "$key : ${reports[$key]}"
  39. done