#!/bin/bash

statusfile="/var/tmp/unattended_upgrades.status"
if ! [[ -f "$statusfile" ]]
then
    echo "Status file not found"
    exit 3
fi

mtime=$(stat -c %Y $statusfile)
now=$(date +%s)
if (( $now - $mtime > 60*60*24*8 ))
then
    echo "Status file is older than 8 days!"
    exit 3
fi

exitcode=$(cat $statusfile)
case "$exitcode" in
    abort_ssh)
        echo "Upgrades skipped due to active SSH login"
        exit 1
        ;;
    0)
        if [[ -f /var/run/reboot-required ]]
        then
            echo "OK, but updates require a reboot"
            exit 1
        else
            echo "OK"
            exit 0
        fi
        ;;
    *)
        echo "Last exitcode was $exitcode"
        exit 2
        ;;
esac