La commande uptime de Linux permet d'obtenir une information très succinte sur le temps passé depuis le dernier démarrage de la machine. L'outil tuptime ajoute beaucoup de fonctionnalités, notamment celle permettant de garder les informations entre les redémarrages.

Voici le résultat de la commande uptime ainsi qu'avec le paramètre -p (pretty) :

# uptime

18:34:53 up 134 days,  1:35,  1 user,  load average: 0.00, 0.03, 0.01

# uptime -p

up 19 weeks, 1 day, 3 hours, 11 minutes

tuptime est un utilitaire écrit en Python qui ajoute certaines fonctionnalités et rend donc plus complet la simple commande uptime :

  • conserve un historique des uptime
  • disponibilité totale du système à partir du jour où le paquet a été installé
  • nombre total de démarrages et d'arrêts du système
  • temps de fonctionnement cumulé du système (fonctionnement et sommeil), temps d'arrêt et total
  • durée la plus longue, courte et moyenne de l'uptime et du downtime
  • comptage des arrêts accidentels
  • filtre par date
  • version du noyau utilisé
  • sortie en CSV possible
  • ...

Pour installer tuptime, plusieurs méthodes sont possible. Il vous faut au préalable Python 3.x sur votre machine.

Vous pouvez :

sh <(curl -s https://raw.githubusercontent.com/rfrail3/tuptime/master/tuptime-install.sh)
  • faire l'installation manuellement en clonant le dépôt Github et en faisant quelques manipulations

Une fois installé, lancez tuptime et tada :

System startups:        1   since   17:59:31 09/12/19
System shutdowns:       0 ok   -   0 bad
System uptime:          100.0 %   -   134 days, 1 hour, 35 minutes and 25 seconds
System downtime:        0.0 %   -   0 seconds
System life:            134 days, 1 hour, 35 minutes and 25 seconds

Largest uptime:         134 days, 1 hour, 35 minutes and 25 seconds   from   17:59:31 09/12/19
Shortest uptime:        134 days, 1 hour, 35 minutes and 25 seconds   from   17:59:31 09/12/19
Average uptime:         134 days, 1 hour, 35 minutes and 25 seconds

Largest downtime:       0 seconds
Shortest downtime:      0 seconds
Average downtime:       0 seconds

Current uptime:         134 days, 1 hour, 35 minutes and 25 seconds since 17:59:31 09/12/19

On retrouve donc le nombre de démarrages depuis l'installation, le nombre d'arrêts, la disponibilité, l'indisponibilité, le plus grand, le plus court et une moyenne d'uptime, etc...

Le programme dispose de quelques options intéressantes :

  • -c, --csv : exporte le résultat en CSV
  • -d, --date : permet de filtrer par date
  • -l, --list : liste les démarrages
  • -t, --table : permet d'obtenir un tableau où chaque ligne représente un démarrage
  • -k, --kernel : affiche les infos du kernel
# tuptime -l

Startup:  1  at  17:59:31 09/12/19
Uptime:   134 days, 3 hours, 8 minutes and 51 seconds
# tuptime -k

System startups:        1   since   17:59:31 09/12/19
System shutdowns:       0 ok   -   0 bad
System uptime:          100.0 %   -   134 days, 3 hours, 10 minutes and 6 seconds
System downtime:        0.0 %   -   0 seconds
System life:            134 days, 3 hours, 10 minutes and 6 seconds
System kernels:         1

Largest uptime:         134 days, 3 hours, 10 minutes and 6 seconds   from   17:59:31 09/12/19
...with kernel:         Linux-4.19.0-0.bpo.5-amd64-x86_64-with-debian-9.11
Shortest uptime:        134 days, 3 hours, 10 minutes and 6 seconds   from   17:59:31 09/12/19
...with kernel:         Linux-4.19.0-0.bpo.5-amd64-x86_64-with-debian-9.11
Average uptime:         134 days, 3 hours, 10 minutes and 6 seconds

Largest downtime:       0 seconds
...with kernel:
Shortest downtime:      0 seconds
Average downtime:       0 seconds

Current uptime:         134 days, 3 hours, 10 minutes and 6 seconds   since   17:59:31 09/12/19
...with kernel:         Linux-4.19.0-0.bpo.5-amd64-x86_64-with-debian-9.11
# tuptime --csv

"System startups","1","since","17:59:31 09/12/19"
"System shutdowns","0","ok","0","bad"
"System uptime","100.0 %","134 days, 3 hours, 13 minutes and 30 seconds"
"System downtime","0.0 %","0 seconds"
"System life","134 days, 3 hours, 13 minutes and 30 seconds"
"Largest uptime","134 days, 3 hours, 13 minutes and 30 seconds","from","17:59:31 09/12/19"
"Shortest uptime","134 days, 3 hours, 13 minutes and 30 seconds","from","17:59:31 09/12/19"
"Average uptime","134 days, 3 hours, 13 minutes and 30 seconds"
"Largest downtime","0 seconds"
"Shortest downtime","0 seconds"
"Average downtime","0 seconds"
"Current uptime","134 days, 3 hours, 13 minutes and 30 seconds","since","17:59:31 09/12/19"