Keep track of your system's uptime and downtime with the
Finding your system's uptime is easy if the "beginning" means the last startup; the
uptime command reports that information. But what happens
if by "beginning" you mean the first startup ever of the system? Or the last 365
days? Or the last month?
Is there any way to have an accumulated uptime—or even better, a look at the whole
system's life? For example, cars have odometers, and you can see the
since the first day. For computers, a tool
was developed exactly for this task:
tuptime reports the historical and statistical running and stopped time
of your system, keeping track between restarts. Its main goals are:
- Count system startups.
- Register the first boot time (since installation).
- Count intended and accidental shutdowns.
- Show the uptime and downtime percentage since the first boot time.
- Show the accumulated system uptime, downtime and total.
- Show the longest, shortest and average uptime and downtime.
- Show the current uptime.
- Print a formatted table or list with most of the previous values.
- Register used kernels.
- Create reports since and/or until a given startup or timestamp.
- Create reports in CSV format.
It works very simply.
tuptime falls to the init manager for
execution at startup and shutdown, and then into a cron task that launches
regular executions in the meantime—there isn't any dæmon to
about. Internally, it looks at the
(available in /proc/stat)
uptime value (from /proc/uptime), and that's basically
The installation process is easy in Debian, Ubuntu and derivative distributions, using their respective package managers, and it should be available in all the official repositories. As prerequisites, it needs Python 3 and the SQLite library, which usually are included in core packages by default.
Once it's available on your system, you can get the information. It has three output formats: the default is a summary, and there also are table and list outputs to print the registered behavior.
Figure 1. Example
tuptime Execution after
The first execution reports the time since the system was booted, and the lines are self-explanatory (note that the date format is based on the system's locale settings):