você está aqui: Home  → Colunistas  →  Cantinho do Shell

 

Script que lista os arquivos desnecessários do servidor por extensão

Colaboração: Raul Libório

Data de Publicação: 06 de Julho de 2008

O meu professor de Programação para Administração de Redes pediu uma lista de scripts, denetre eles estava um que buscava no servidor por arquivos maiores que 200MB. Eu parametrizei esse script de forma que o usuário possa dizer realmente qual é o tamanho a ser buscado. Ele ainda busca por APENAS ARQUIVOS MAIORES QUE x, ainda ñ fiz pra busca de menroes (o que iria pedir muito processamento e que, cá ente nós, não será muito necessário...)

A variável "LISTA" possui as extensões a serem buscadas. você poderá adicionar ou remover qualquer uma. Lembre que o separador é o espaço em branco. Mão na massa!

#!/bin/bash
# RAUHMARU SCRIPT DIVISION :D - 05/06/08
# V2 - 08/06/08
# Lista arquivos que sao inuteis ao ambiente por norma da empresa
MSG="
ESSE COMANDO POSSUI MELHORES RESULTADOS SE EXECUTADO PELO ROOT
"
# -- VARIAVEIS
# -- EXTENSOES DE ARQUIVOS A SEREM BUSCADAS:
LISTA="avi mp3 ogg mp4 wav wmv wma html htm asp aspx jpg png gif"

RELATORIO="remover.txt"        # NOME DO ARQUIVO PARA O RELATORIO
I=0

clear

# -- VOCE EH O ROOT?
if test "$UID" != "0"; then
      echo $MSG
fi

# -- TAMANHO A BUSCAR
echo -n "TAMANHO DOS ARQUIVOS: " && read TAM

# -- O 'k' TEM DE SER MINUSCULO E OS OUTROS MAIUSCULOS
TAM=$( echo $TAM | tr m M | tr K k | tr g G )

# -- IMPRIMA NA TELA E NO ARQUIVO
echo "Procurando arquivos maiores que $TAM"
echo "Procurando arquivos maiores que $TAM" > $RELATORIO

# -- BUSCA CERIFICANDO A VARIAVEL $LISTA
for BUSCA in $LISTA; do
BUSCA[I]=${BUSCA}
I=$(echo ${I}+1 | bc)
echo $BUSCA "-> listando e adicionando em $RELATORIO"

find / -name "*.$BUSCA" -size +$TAM -print >> $RELATORIO
echo " ------ ------ ------ ------ -----------"
done

# -- PERFUMARIA
LINHA=$( cat $RELATORIO| wc -l)
if test "$LINHA" = "1"; then
      echo "Nenhum arquivo encontrado."

elif test "$LINHA" = "2"; then
      echo "1 arquivo encontrado."

elif test "$LINHA" > "2"; then
      echo  "$LINHA arquivos encontrados."
fi
echo
Error: No site found with the domain '705839.zoqxoq1s.asia' (Learn more)