#!/bin/bash # Get the uptime start time UPTIME_OUTPUT=$(uptime -s) UPTIME_EXIT_CODE=$? # Check if the uptime command was successful if [ $UPTIME_EXIT_CODE -ne 0 ]; then echo "UNKNOWN - Unable to get uptime" exit 3 fi # Calculate the uptime in seconds UPTIME_START=$(date -u -d "$UPTIME_OUTPUT" +%s) CURRENT_TIME=$(date -u +%s) UPTIME_SECONDS=$((CURRENT_TIME - UPTIME_START)) # Convert the uptime seconds to hours UPTIME_HOURS=$(echo "scale=2; $UPTIME_SECONDS / 3600" | bc) # Get the human-readable uptime UPTIME_HUMAN=$(uptime -p) # Print the result and performance data echo "OK - Uptime: $UPTIME_HUMAN | uptime_hours=$UPTIME_HOURS" exit 0