Quiero compartir con ustedes una pequeña línea de comando que hice recientemente para saber cuánto tiempo me he conectado por acceso telefónico. Siempre es bueno tener las cuentas claras. Debe funcionar perfectamente en Ubuntu y Debian.
mail:~$ grep "Connect time" /var/log/syslog | awk '{ a+=$8 } END { printf "%d minutos\n %d horas y %d minutos\n",a,a/60,a%60} '
Ahora sí queremos precisión en el tiempo de conexion la idea es que en depende de la frecuencia con la que se rote syslog se obtendra esta informacion.
Si necesitara saber qué tiempo me conecté el día 16 de Febrero de este año:
mail:~$ grep "Connect time" /var/log/syslog | grep "Feb 16"|awk '{ a+=$8 } END { printf "%d minutos\n %d horas y %d minutos\n",a,a/60,a%60}' 282 minutos 4 horas y 42 minutos
Si quiero saber el tiempo de conexión de hoy, entonces haría esto:
mail:~$ grep "Connect time" /var/log/syslog | grep "$(date --date " " +% b\ %e)" |awk '{ a+=$8 } END { printf "%d minutos\n %d horas y %d minutos \n",a,a/60,a%60}'
Y el resultado es:
110 minutos 1 horas y 50 minutos