forked from evolix/ansible-roles
26 lines
520 B
Plaintext
26 lines
520 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
exitCode=0
|
||
|
|
||
|
for user in $(getent passwd | grep -ve root -e www-data | cut -d: -f1); do
|
||
|
openFiles=$(lsof -n -u "$user" | wc -l)
|
||
|
if [[ $openFiles -ge 3200 ]]; then
|
||
|
echo "CRITICAL: $user has more than 3200 files opened!"
|
||
|
exitCode=2
|
||
|
elif [[ $openFiles -ge 2000 ]]; then
|
||
|
echo "WARNING: $user has more than 2000 files opened!"
|
||
|
if [[ $exitCode -ne 2 ]]; then
|
||
|
exitCode=1
|
||
|
fi
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if [[ $exitCode -eq 1 || $exitCode -eq 2 ]]; then
|
||
|
exit $exitCode
|
||
|
else
|
||
|
echo "OK"
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
|