#!/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 -1 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) # Convert the uptime seconds to days UPTIME_DAYS=$(echo "scale=2; $UPTIME_SECONDS / 86400" | bc) # Print the result and performance data echo "OK - Uptime: $UPTIME_DAYS days | uptime_hours=$UPTIME_HOURS" exit 0