Enviado em 19/10/2016 - 17:46h
Estou criando um shell script para verificar o espaço em disco de diversos servidores e enviar alertas no caso do disco estar lotado, porém estou com alguns problemas, pois preciso conectar via ssh em todos os servidores executar o comando para verificar o espaço em disco, gerar dentro do servidor que estou conectado via ssh um arquivo com o resultado do comando executado e então na mesma conexão ssh, percorrer o arquivo criado e verificar se há algum valor dentro do arquivo que é maior 95, caso seja, então criar um novo arquivo com uma determinada mensagem. Estou com dois problemas, o primeiro é que quando estou gerando o arquivo com o resultado do comando, ao invés de gerar o arquivo apenas com a coluna escolhida, ele está pegando a linha inteira do resultado do comando; o segundo problema é que quando vou percorrer o arquivo criado há um erro dizendo que o arquivo criado não existe, como se a conexão via ssh já tivesse sido finalizada (bem provável que seja isso), se puderem me ajudar ficarei grato.
#!/bin/bash
# Author: Jhon Lucas
# 19-Out-16
#Limpa o arquivo
#Set Variable
ECHO=/bin/echo
CAT=/bin/cat
WHOAMI=`/usr/bin/whoami`
SSH=/usr/bin/ssh
PATH=/scripts/lista_servidores.txt
CMD="df -h |grep -v 'Use'|awk '{print $5}'|sed "s/%//g" > /root/lista_percent.txt"
#Check if User is Root
if [ "${WHOAMI}" != 'root' ];
then
$echo 'Voce precisa ser root para executar este Shell Script'
exit 1
fi
for FILE1 in `$CAT ${PATH}`;
do
$ECHO 'Servidor '${FILE1}
$SSH -p 16 root@${FILE1} ${CMD}
LIST_PERCENT=/root/lista_percent.txt
for FILE2 in `$CAT ${LIST_PERCENT}`;
do
if [ "$FILE2" -gt "95" ]; then
$ECHO "Espaco em disco esta baixo, favor verificar!" > /root/verificar.txt
fi
done
done