ROOTPLOIT
Server: Apache
System: Linux node6122.myfcloud.com 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64
User: bashacomputer (1004)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib64/nagios/plugins/check_zpool_usage.sh
#!/usr/bin/env bash
# Icinga/Nagios plugin to check zpool free space
# Change the VALUE number to determine <#TB will the check be.
VALUE=5

# Parse arguments
while [[ $# -gt 0 ]]; do
  case $1 in
    --usage)
      if [[ -n $2 && $2 =~ ^[0-9]+$ ]]; then
        VALUE=$2
        shift 2
      else
        echo "Error: --usage requires an integer argument" >&2
        exit 3
      fi
      ;;
    *)
      shift
      ;;
  esac
done

THRESHOLD=$((VALUE * 1024 * 1024 * 1024 * 1024))

critical_pools=()

while IFS=$'\t' read -r pool free; do
  [[ -z "$pool" ]] && continue

  if (( free < THRESHOLD )); then
    critical_pools+=("$pool")
  fi
done < <(zpool list -Hp -o name,free 2>/dev/null)

if [ ${#critical_pools[@]} -gt 0 ]; then
  echo "CRITICAL: ${critical_pools[*]} pool requires attention ${VALUE}TB"
  exit 2
else
  echo "OK: All zpools have >=${VALUE}TB free"
  exit 0
fi