#! /bin/bash # # check_reboot_required.sh # Copyright (C) 2021 Vintage Salt # # Distributed under terms of the MIT license. # rr="/var/run/reboot-required" rrpkgs="/var/run/reboot-required.pkgs" # 604800 - 1 week in seconds threshold="${1:-604800}" if [ -f "$rr" ]; then # We have a pending reboot; alert in different states depending on its age lastmod=$(date +%s -r "$rr") now=$(date +%s) pkgs="$(cat "$rr")" if [ -f "$rrpkgs" ]; then pkgs="$(cat "$rrpkgs")" fi if [ -z "$pkgs" ]; then pkgs="(No output)" fi if (( now - lastmod > threshold )); then echo "CRITICAL - Pending reboot older than $threshold seconds: $pkgs" exit 2 else echo "WARNING - Pending reboot: $pkgs" exit 1 fi else # We have no pending reboots echo "OK - No pending reboots" exit 0 fi