find date of last boot

Robert Bonomi bonomi at mail.r-bonomi.com
Fri Jun 8 02:02:28 UTC 2012


> From owner-freebsd-questions at freebsd.org  Thu Jun  7 20:26:46 2012
> Date: Thu, 07 Jun 2012 20:24:49 -0500
> From: Chris <racerx at makeworld.com>
> To: freebsd-questions at freebsd.org
> Subject: Re: find date of last boot
>
> On 6/7/2012 8:14 PM, Chris Hill wrote:
> > On Thu, 7 Jun 2012, Fbsd8 wrote:
> > 
> >> dmesg command does not show date of last boot.
> >>
> >> Are there some other commands to find date of last boot?
> > 
> > That was fun. Google helped me with this; the crappy skillz are all mine.
> > 
> >  --- cut here ---
> > #!/bin/sh
> > #
> > # Find date of last boot
> > #
> > DAYS_UP=`uptime | awk '{print $3}'`
> > SEC_UP=`echo "${DAYS_UP} * 86400" | bc`
> > DATE=`date`
> > EPOCH_DATE=`date -j -f "%a %b %d %T %Z %Y" "${DATE}" "+%s"`
> > BOOT_SEC=`echo "${EPOCH_DATE} - ${SEC_UP}" | bc`
> > BOOT_DATE=`gawk -v duh=${BOOT_SEC} 'BEGIN{print strftime("%Y-%m-%d",duh)}'`
> > echo "Last boot on ${BOOT_DATE}"
> >  --- cut here ---
> > 
> > Example from this machine:
> > $ ./boot_date.sh
> > Last boot on 2010-12-26
> > $
> > 
> > Enjoy.
> > 
>
> Why create something that is already built in?
> As I mentioned previously, the last command lists when the system was
> rebooted.

Probably, because last does *not* reliably do so.  <grin>

To wit:
 $ date
 Thu Jun  7 20:59:44 CDT 2012
 $ uptime
 8:58PM  up 8 days, 22:30, 1 user, load averages: 0.07, 0.03, 0.01
 $ last reboot
 wtmp begins Tue Jun  5 17:00:58 CDT 2012
 $

'wtmp' has been rotated twice since the system was booted.





More information about the freebsd-questions mailing list