Advertisement
Guest User

howmuchtime

a guest
Apr 21st, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.93 KB | None | 0 0
  1. CURR_TIME=`date +%s`
  2. TIME_CURRENT=0
  3. TIME_PAST=0
  4.  
  5. PrintTime()
  6. {
  7.     printf '%dh %dm %ds\n' $(($1/3600)) $(($1%3600/60)) $(($1%60))
  8. }
  9.  
  10.  
  11. LINES=$(
  12. for x in /var/log/wtmp*
  13. do
  14.     last -T -s -f "$x" | grep "^$1\ " | grep in$ | tr -s ' ' | cut -d ' ' -f 4 
  15. done
  16. )
  17.  
  18. echo
  19. echo ========== current sessions ==========
  20.  
  21. for line in $LINES
  22. do
  23.     DIFF=$((CURR_TIME-line))
  24.     PrintTime $DIFF
  25.     TIME_CURRENT=$((TIME_CURRENT+DIFF))
  26. done
  27.  
  28. echo ========== total ==========
  29. PrintTime $TIME_CURRENT
  30.  
  31.  
  32. LINES2=$(
  33. for x in /var/log/wtmp*
  34. do
  35.     last -s -f "$x" | grep "^$1\ " | grep -v still | cut -d '(' -f 2 | cut -d ')' -f 1
  36. done
  37. )
  38.  
  39. echo
  40. echo ========== past sessions ==========
  41.  
  42. for line in $LINES2
  43. do
  44.     PrintTime $line
  45.     TIME_PAST=$((TIME_PAST+line))
  46. done
  47.    
  48. echo ========== total ==========
  49. PrintTime $TIME_PAST
  50.  
  51. echo
  52. echo ========== total time ==========
  53. TOTAL_TIME=$((TIME_CURRENT+TIME_PAST))
  54. PrintTime $TOTAL_TIME
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement