Guest User

Untitled

a guest
Nov 18th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # dumps memcache slabs.
  4.  
  5. SERVER=${1:-127.0.0.1}
  6. PORT=${2:-11211}
  7. export GREP_OPTIONS=
  8.  
  9. exec 3<>/dev/tcp/$SERVER/$PORT
  10.  
  11. puts() {
  12. echo -en "$*\r\n" >&3
  13. }
  14.  
  15. gets() {
  16. local _line
  17. read _line <&3
  18. echo ${_line} | tr -d "\r"
  19. return $result
  20. }
  21.  
  22. close() {
  23. exec 3>&-
  24. exec 3<&-
  25. }
  26.  
  27. trap close EXIT
  28.  
  29. puts "stats slabs"
  30. slabs=()
  31. lastslab=0
  32. while line=$(gets); do
  33. [[ "$line" == "END" ]] && break
  34. slabno=$(echo "$line" | sed -re 's;^STAT ([0-9]+):[a-z_]+ [0-9]+$;\1;' | egrep '^[0-9]+$' || echo 0)
  35. if [[ $slabno > 0 && $slabno != $lastslab ]]; then
  36. slabs=(${slabs[@]} $slabno)
  37. lastslab=$slabno
  38. fi
  39. done
  40.  
  41. for s in ${slabs[@]}; do
  42. puts "stats cachedump $s 100"
  43. echo "Slab $s:"
  44. while line=$(gets); do
  45. [[ "$line" == "END" ]] && break
  46. echo " $line"
  47. done
  48. done
Add Comment
Please, Sign In to add comment