batterytrack 587 B

123456789101112131415161718192021222324
  1. #!/usr/bin/env bash
  2. # ------------------------------------------
  3. # Track battery over time (every 30 mins)
  4. # Run: nohup batterytrack &> /dev/null &
  5. # ------------------------------------------
  6. logfile="$HOME/.batterytrack.log"
  7. pidfile="/tmp/batterytrack.pid"
  8. batterydir="/sys/class/power_supply/BAT0"
  9. # not a laptop
  10. [[ ! -d "$batterydir" ]] && exit
  11. echo $$ > "$pidfile"
  12. trap "rm '$pidfile'" EXIT SIGTERM
  13. while true; do
  14. cat "${batterydir}/uevent" | tr '\n' ',' >> "$logfile"
  15. printf "$(date +'%m-%d-%Y %H:%M:%S')" >> "$logfile"
  16. printf "\n" >> "$logfile"
  17. sleep 1800
  18. done
  19. exit 0