How to accurately determine when the system was booted

It is very easy to tell how long the system has been running using uptime command, but the information when exactly it was booted is not so apparent, so I will show you two different ways to get it.

The first way - the simplest one

Use last command to display the system shutdown entries and run level changes, limit output to the boot entries, and display only the first one.

$ last -x | grep boot | head -1
reboot   system boot  3.2.0-4-amd64    Sat Oct 19 12:44 - 23:24 (8+11:40) 
System was booted at Sat Oct 19 12:44, current time is 23:24, and the uptime is 8 days, 11 hours, and 40 minutes.

The following examples demonstrate two simple ways to print the time when the system was booted, each one using different sets of commands.

$ last -x | awk '$3 ~ /boot/  {print $5 " " $6 " " $7 " " $8; exit}'
Sat Oct 19 12:44
$ last -x | grep -m 1 boot | tr -s ' ' | cut -d ' ' -f 5-8
Sat Oct 19 12:44

The second way - the more interesting one

Alternative solution is to read the /proc/uptime file, where the first number is the total number of seconds the system has been up and running.

$ cat /proc/uptime 
735751.39 778420.68
System was up and running for the 735751 seconds which equals to 8 days, 12 hours, 22 minutes.

You can accurately determine when the system was booted using date command.

$ date --date "now - `cut -d ' ' -f 1 /proc/uptime` seconds"
Sat Oct 19 12:43:25 CEST 2013

The above-mentioned command construction shortly explains why I think that this solution is more interesting.

0 (0)
Article Rating (No Votes)
Rate this article
There are no attachments for this article.
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
Linux: Disks diagnostic using smartctl
Viewed 14465 times since Wed, Jul 25, 2018
Linux - How to get IP and MAC address of ethernet adapter in Linux
Viewed 2427 times since Fri, Jun 8, 2018
How to use yum command on CentOS/RHEL
Viewed 10655 times since Wed, Oct 17, 2018
logrotate How log rotation works with logrotate
Viewed 8727 times since Sun, Jan 12, 2020
RHEL: GPT/MBR partition tables (using disks larger than 2 TiB)
Viewed 11950 times since Sun, May 27, 2018
Linux Health Check Commands
Viewed 2802 times since Fri, Jun 8, 2018
20 IPtables Examples For New SysAdmins
Viewed 1921 times since Fri, May 15, 2020
RHEL: ACLs basics
Viewed 5827 times since Sun, May 27, 2018
RHEL: Create a local RPM repository
Viewed 10896 times since Sun, May 27, 2018
Linux Screen
Viewed 1826 times since Sat, Jun 2, 2018