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

Recomende este artigo nas redes sociais

 

 

Veja a relação completa dos artigos desta coluna