HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/local/bin/quota_check.sh
#!/bin/bash

ADMIN_EMAIL="tomas.berzinas@go.kauko.lt"
FS="/"  # Filesystem where quotas apply
REPQUOTA=$(command -v repquota)
AWK=$(command -v awk)
MSMTP=$(command -v msmtp)
HOSTNAME=$(hostname)

# Get list of users who are actually over quota
# Column 2 in repquota output shows flags like '--', '+-', '++'
# '+' means grace expired or hard limit exceeded
OVER_QUOTA=$($REPQUOTA -u "$FS" | $AWK '$1 ~ /^[a-z0-9]/ && $2 ~ /\+/')

if [ -n "$OVER_QUOTA" ]; then
    mail_body=$(cat <<EOF
From: web@kauko.lt
To: $ADMIN_EMAIL
Subject: Disk Quota Exceeded Alert on $HOSTNAME

Report generated on: $(date)
Filesystem: $FS

The following users have exceeded their disk quotas:

$OVER_QUOTA
EOF
)
    echo "$mail_body" | $MSMTP "$ADMIN_EMAIL"
fi