LaundrySorcery

git clone git://xatko.vsos.ethz.ch/LaundrySorcery.git
Log | Files | Refs

laundrysorcery_stats (976B)


      1 #!/bin/bash
      2 
      3 cd /dev/shm
      4 
      5 
      6 sed '1d;$!b;/ /!d' /var/log/laundrysorcery.log > lslog
      7 
      8 while read -a l
      9 do
     10 	[[ $(( l[1] - l[0] )) -gt 600 ]] && echo $(date --date="@${l[0]}" +%H) " " $(( l[1] - l[0] ))
     11 done < lslog > lshours
     12 
     13 while read -a l
     14 do
     15 	[[ $(( l[1] - l[0] )) -gt 600 ]] && echo $(date --date="@${l[0]}" +%u) " " $(( l[1] - l[0] ))
     16 done < lslog > lsweekdays
     17 
     18 awk 'BEGIN{for(i=0; i<24; i++)times[i]=0}{times[$1]++}END{for(idx=0;idx<24;idx++){print(idx,times[idx])}}' lshours > lshourfreq
     19 awk 'BEGIN{for(i=1; i<=7; i++)times[i]=0}{times[$1]++}END{for(idx=1;idx<=7;idx++){print(idx,times[idx])}}' lsweekdays > lsweekdayfreq
     20 gnuplot - <<-EOF
     21 set terminal svg
     22 set xrange [0:23]
     23 set boxwidth 0.5
     24 set style fill solid
     25 set grid
     26 set xlabel 'Hour of day'
     27 set ylabel 'Frequency'
     28 set output 'lshourfreq.svg'
     29 plot 'lshourfreq' with boxes t ''
     30 set xlabel 'Day of week (1=Monday)'
     31 set xrange [0:8]
     32 set yrange [0:*]
     33 set output 'lsweekdayfreq.svg'
     34 plot 'lsweekdayfreq' with boxes t ''
     35 EOF
     36