Coleta de Informações de crescimento de utilização de file system
Publicado por Hertz Raya Zocolan Silva (última atualização em 06/07/2018)
[ Hits: 2.827 ]
Coleta de informações utilizando comando df para dados de crescimento de file system.
Informações coletadas:
File System (cria um arquivo para cada file system existente)
Data
Hora
Tamanho
Utilizado (MB)
Disponivel (MB)
Porcentagem Utilizado
Formato do arquivo de saída: CSV com (;) separando os campos
#!/bin/bash
#
# Script : /usr/local/scripts/coleta_disco.sh
# Feito : Hertz S. ( 11/04/2016 )
# Obs : Script para coleta de informacoes de utilizacao
# de espaco em disco
#
#exec 1>/dev/null
#exec 2>&1
#
# Rotina de Inclusao de Variaveis Globais -------------------------------------
#
PROCESS="COLETA_DSK"
PROCESS_NAME="Coleta de Informacoes de Utilizacao de Espaco em Disco"
export PATH=$PATH:/usr/bin
SERVER="`hostname`"
IP_LOCAL="`/sbin/ifconfig | grep \"cast\" | head -1 | awk '{print $2}' | cut -d\: -f2,2`"
DT_FULL="`date +%d/%m/%Y`"
DT_DT="`date +%d%m%Y`"
DT_HORA="`date +%H:%M:%S`"
DT_HR="`date +%H%M%S`"
DT_MES="`date +%m_%Y`"
DT_ano="`date +%Y`"
DT_mes="`date +%m`"
DT_DIA="`date +%a`"
if [ "${DT_DIA}" = "Sun" ] ; then DT_DIA="Domingo" ; fi
if [ "${DT_DIA}" = "Mon" ] ; then DT_DIA="Segunda" ; fi
if [ "${DT_DIA}" = "Tue" ] ; then DT_DIA="Terca" ; fi
if [ "${DT_DIA}" = "Wed" ] ; then DT_DIA="Quarta" ; fi
if [ "${DT_DIA}" = "Thu" ] ; then DT_DIA="Quinta" ; fi
if [ "${DT_DIA}" = "Fri" ] ; then DT_DIA="Sexta" ; fi
if [ "${DT_DIA}" = "Sat" ] ; then DT_DIA="Sabado" ; fi
if [ "${DT_mes}" = "01" ] ; then DT_MES_NAME="Janeiro" ; fi
if [ "${DT_mes}" = "02" ] ; then DT_MES_NAME="Fevereiro" ; fi
if [ "${DT_mes}" = "03" ] ; then DT_MES_NAME="Marco" ; fi
if [ "${DT_mes}" = "04" ] ; then DT_MES_NAME="Abril" ; fi
if [ "${DT_mes}" = "05" ] ; then DT_MES_NAME="Maio" ; fi
if [ "${DT_mes}" = "06" ] ; then DT_MES_NAME="Junho" ; fi
if [ "${DT_mes}" = "07" ] ; then DT_MES_NAME="Julho" ; fi
if [ "${DT_mes}" = "08" ] ; then DT_MES_NAME="Agosto" ; fi
if [ "${DT_mes}" = "09" ] ; then DT_MES_NAME="Setembro" ; fi
if [ "${DT_mes}" = "10" ] ; then DT_MES_NAME="Outubro" ; fi
if [ "${DT_mes}" = "11" ] ; then DT_MES_NAME="Novembro" ; fi
if [ "${DT_mes}" = "12" ] ; then DT_MES_NAME="Dezembro" ; fi
# Declaracao de Variaveis -----------------------------------------------------
DIRCOL="/usr/local/coleta_`hostname`/disco/${DT_MES}"
mkdir -p ${DIRCOL}
#
# Inicio do Script ------------------------------------------------------------
#
df -m | grep -v Mounted | grep -v shm | grep -v media | grep -v Uso | awk '{print $6}' | \
while read fs
do
df -m "$fs" | grep -v Mounted | grep -v Uso > /tmp/tmp.$$
DEV="`cat /tmp/tmp.$$ | awk '{print $1}'`"
SIZE="`cat /tmp/tmp.$$ | awk '{print $2}'`"
FS="`cat /tmp/tmp.$$ | awk '{print $6}'`"
USED="`cat /tmp/tmp.$$ | awk '{print $3}'`"
AVAI="`cat /tmp/tmp.$$ | awk '{print $4}'`"
PUSE="`cat /tmp/tmp.$$ | awk '{print $5}'`"
FStxt="`echo \"$FS\" | sed 's:\/:_:g'`"
FSTXT="${DIRCOL}/${FStxt}.txt"
if [ -f "${FSTXT}" ]
then
echo $FSTXT existe > /dev/null
echo "${DT_FULL};${DT_HORA};${SIZE};${USED};${AVAI};${PUSE}" >> ${FSTXT}
else
echo $FSTXT nao > /dev/null
echo "[ ${SERVER} ${IP_LOCAL} ] - ${DT_MES_NAME} de ${DT_ano}" > ${FSTXT}
echo "File System : ${FS} - ${DEV}" >> ${FSTXT}
echo "" >> ${FSTXT}
echo "Data;Hora;Tamanho;Utilizado (MB);Disponivel (MB);Porcentagem Utilizado" >> ${FSTXT}
echo "${DT_FULL};${DT_HORA};${SIZE};${USED};${AVAI};${PUSE}" >> ${FSTXT}
fi
unset FSTXT
unset FStxt
rm /tmp/tmp.$$
done
#
# Final do Script ------------------------------------------------------------
#
Backup em HD Externa com Rsync
Cria cabeçalhos para shell scripts
Executando comandos de telnet via shell-script
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









