// Copyright 2017-2025 WIT.COM Inc. All rights reserved. // Use of this source code is governed by the GPL 3.0 package main import ( "go.wit.com/lib/debian" "go.wit.com/lib/fhelp" ) // Using the unique boot ID (useful for scripting) // journalctl -b 5e6f7g8h... // kernel logs only // journalctl -b -1 -k func doReboots() (string, error) { // checkSuperuser() exitOnError([]string{"journalctl", "--list-boots"}) return "reboots", nil } func doDmesg() (string, error) { // checkSuperuser() exitOnError([]string{"journalctl", "-b", "-0"}) // the current boot log return "reboots", nil } func doRdate() (string, error) { if !debian.AreRoot() { exitOnError([]string{"rdate", "-p", "rdate.grid.wit.com"}) exitOnError([]string{"date"}) return "rdate ok", nil } checkSuperuser() if _, err := fhelp.CheckCmd("rdate"); err != nil { debian.AptInstallOrExit("rdate") } if _, err := fhelp.CheckCmd("hwclock"); err != nil { debian.AptInstallOrExit("util-linux-extra") } exitOnError([]string{"rdate", "rdate.grid.wit.com"}) exitOnError([]string{"hwclock", "-w"}) return "", nil }