FSRO

De Wiki Clusterlab.com.br
Ir para navegação Ir para pesquisar

Script de monitoramento de filesystem em read only.

ZABBIX AGENT

UserParameter=check.fsro, /var/lib/zabbix/scripts/fsro /sys/fs/cgroup

SCRIPT

#!/bin/bash
#Alexandre D Amato, Maio 2016
function ARQTEMP() {
case $1 in
	criar) mktemp --suffix=-fsro
		;;
	apagar)
		rm -fr $2
		;;
esac
}
quantidade=$(ARQTEMP criar)
lista=$(ARQTEMP criar)
cat /proc/mounts | \
	awk '{print $2 " " $4}'| \
	tr ',' ' ' | \
	grep -w ro | \
	awk '{print $1}' | \
	tee $lista | \
	wc -l > $quantidade
quantidadero=$(cat $quantidade)
typeset -i quantidadero
if [ $quantidadero -eq 0 ] 
then
	echo 0
else
	if [ $# -eq 0 ]
	then
		retorno=$(cat $lista  | wc -l)
		if [ $retorno -eq 0 ]
		then
			echo 0
		else
			echo 1
		fi
	else
		retorno=$(cat $lista | egrep -wv "$(echo $*  | tr ' ' '\|')" | wc -l)
		if [ $retorno -eq 0 ]
		then
			echo 0
		else
			echo 1
		fi
	fi
fi
ARQTEMP apagar $quantidade
ARQTEMP apagar $lista


Ultima revisão de Damato

Script2, variação do mktemp

#!/bin/bash
#Alexandre D Amato, Maio 2016
function ARQTEMP() {
case $1 in
	criar) mktemp /tmp/fsro.XXXXXXXXXX
		;;
	apagar)
		rm -fr $2
		;;
esac
}
quantidade=$(ARQTEMP criar)
lista=$(ARQTEMP criar)
cat /proc/mounts | \
	awk '{print $2 " " $4}'| \
	tr ',' ' ' | \
	grep -w ro | \
	awk '{print $1}' | \
	tee $lista | \
	wc -l > $quantidade
quantidadero=$(cat $quantidade)
typeset -i quantidadero
if [ $quantidadero -eq 0 ] 
then
	echo 0
else
	if [ $# -eq 0 ]
	then
		retorno=$(cat $lista  | wc -l)
		if [ $retorno -eq 0 ]
		then
			echo 0
		else
			echo 1
		fi
	else
		retorno=$(cat $lista | egrep -wv "$(echo $*  | tr ' ' '\|')" | wc -l)
		if [ $retorno -eq 0 ]
		then
			echo 0
		else
			echo 1
		fi
	fi
fi
ARQTEMP apagar $quantidade
ARQTEMP apagar $lista


Ultima revisão de Damato