mirror of
https://github.com/m8tin/cis.git
synced 2025-12-06 15:58:26 +01:00
-p added and GENERIC_ZFSPOOL_USAGE_CHECK uses ssh
This commit is contained in:
@@ -1,26 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
SERVER="${1:?"FQDN of server missing"}"
|
||||
_REMOTE_HOST="${1:?"FQDN of server missing"}"
|
||||
_REMOTE_PORT="${2:-"22"}"
|
||||
_REMOTE_USER="monitoring"
|
||||
_SOCKET='~/.ssh/%r@%h:%p'
|
||||
|
||||
function testSpace(){
|
||||
local _RESULT=$(/sbin/zpool list -H -o capacity,name | /usr/bin/sort)
|
||||
local _SPACE_USED=$(echo "${_RESULT}" | /usr/bin/tail -n 1 | /usr/bin/cut -f1)
|
||||
local _POOL=$(echo "${_RESULT}" | /usr/bin/tail -n 1 | /usr/bin/cut -f2)
|
||||
function checkOrStartSSHMaster() {
|
||||
timeout --preserve-status 1 "ssh -O check -S ${_SOCKET} -p ${_REMOTE_PORT} ${_REMOTE_USER}@${_REMOTE_HOST}" &> /dev/null \
|
||||
&& echo "master checked" \
|
||||
&& return 0
|
||||
|
||||
[ -z "${_SPACE_USED}" ] \
|
||||
&& echo "FAIL#NO value" \
|
||||
&& return 0
|
||||
ssh -O stop -S ${_SOCKET} -p ${_REMOTE_PORT} ${_REMOTE_USER}@${_REMOTE_HOST} &> /dev/null
|
||||
ssh -o ControlMaster=auto \
|
||||
-o ControlPath=${_SOCKET} \
|
||||
-o ControlPersist=65 \
|
||||
-p ${_REMOTE_PORT} \
|
||||
-f ${_REMOTE_USER}@${_REMOTE_HOST} exit &> /dev/null \
|
||||
&& return 0
|
||||
|
||||
[ "${1:?"Missing OK_THRESHOLD"}" -ge "${_SPACE_USED%\%*}" ] \
|
||||
&& echo "OK#${_SPACE_USED} used ${_POOL}." \
|
||||
&& return 0
|
||||
|
||||
[ "${2:?"Missing INFO_THRESHOLD"}" -ge "${_SPACE_USED%\%*}" ] \
|
||||
&& echo "INFO#${_SPACE_USED} already used ${_POOL}." \
|
||||
&& return 0
|
||||
|
||||
echo "FAIL#${_SPACE_USED} used ${_POOL}!"
|
||||
return 0
|
||||
echo "Fail: checkOrStartMaster()"
|
||||
return 1
|
||||
}
|
||||
|
||||
testSpace 80 90
|
||||
function testSpace(){
|
||||
checkOrStartSSHMaster \
|
||||
|| return 1
|
||||
|
||||
local _RESULT="$(ssh -S ${_SOCKET} -p ${_REMOTE_PORT} ${_REMOTE_USER}@${_REMOTE_HOST} 'zpool list -H -o capacity,name')"
|
||||
local _SPACE_USED=$(echo "${_RESULT}" | /usr/bin/tail -n 1 | /usr/bin/cut -f1)
|
||||
local _POOL=$(echo "${_RESULT}" | /usr/bin/tail -n 1 | /usr/bin/cut -f2)
|
||||
|
||||
[ -z "${_SPACE_USED}" ] \
|
||||
&& echo "FAIL#NO value" \
|
||||
&& return 0
|
||||
|
||||
[ "${1:?"Missing OK_THRESHOLD"}" -ge "${_SPACE_USED%\%*}" ] \
|
||||
&& echo "OK#${_SPACE_USED} used ${_POOL}." \
|
||||
&& return 0
|
||||
|
||||
[ "${2:?"Missing INFO_THRESHOLD"}" -ge "${_SPACE_USED%\%*}" ] \
|
||||
&& echo "INFO#${_SPACE_USED} already used ${_POOL}." \
|
||||
&& return 0
|
||||
|
||||
echo "FAIL#${_SPACE_USED} used ${_POOL}!"
|
||||
return 0
|
||||
}
|
||||
|
||||
testSpace 80 90 && exit 0
|
||||
|
||||
exit 1
|
||||
|
||||
Reference in New Issue
Block a user