Remover arquivos com mais de "N" dias da Lixeira do Samba

Publicado por Tiago Jorge (última atualização em 19/06/2011)

[ Hits: 9.905 ]

Homepage: http://tjdestroyer.awardspace.com

Download limpalixeira.sh




Quando implantei o sistema de lixeira no samba surgiu a necessidade de "esvazia-la" periodicamente, como não queria fazer isso manualmente, escrevi esse script para automatizar a remoção dos arquivos copiados automaticamente para a lixeira do samba.

Com o problema resolvido, decidi compartilhar a solução que desenvolvi com toda comunidade...

Espero que tal solução possa ser útil.

  



Esconder código-fonte

# limpalixeira.sh V 0.1
# Shell Script para remocao de arquivos da lixeira (samba) com mais de N dias 
# Autor: Tiago Jorge - http://www.vivaolinux.com.br/~Tjdestroyer

#!/bin/bash

# Diretorio Lixeira
LIXEIRA=/mnt/trash/

# Arquivo de Log > adicionar o caminho completo do arquivo de log
ARQLOG=$LIXEIRA.arqremovidos.log

# Quantidade de dias que os arquivos ficam na lixeira
DIAS=15

# Listando todo conteudo do diretorio lixeira que tenha mais de n dias
echo $0: `date`: Verificando Existencia de Arquivos com mais de $i dias >> $ARQLOG

for i in `find $LIXEIRA -depth -mtime +$DIAS`
do
  # Comparando se arquivo não é arquivo de log e a raiz da lixeira 
  if [ "$i" != "$ARQLOG" ]; then
     if [ "$i" != "$LIXEIRA" ]; then
        # Removendo arquivo antigo
        rm -rf $i
        echo $0: `date`: Arquivo Removido Permanentemente!: $i >> $ARQLOG
     fi
  fi
done
echo $0: `date`: Verificação Concluída! >> $ARQLOG

# Fim do Arquivo
# Para adicionar ao crontab:
# crontab -e
# 00 18 * * * caminho_do_script
# esse comando fara o script rodar todos os dias as 18:00h

Scripts recomendados

Album virtual para WEB

Baixar recursivamente links de um arquivo texto

Visualizar ícone dos .exe em seu Gnome

Script Backup ultimo arquivo criado em um diretorio feito TAR direto para DAT

BKP Completo Sem compactação (com exclusao)


  

Comentários
[1] Comentário enviado por Tjdestroyer em 19/06/2011 - 15:28h

Uma errata...
Altere as linhas:
# Listando todo conteudo do diretorio lixeira que tenha mais de n dias
echo $0: `date`: Verificando Existencia de Arquivos com mais de $i dias >> $ARQLOG

para:
# Listando todo conteudo do diretorio lixeira que tenha mais de n dias
echo $0: `date`: Verificando Existencia de Arquivos com mais de $DIAS dias >> $ARQLOG

Essa mudança não interfere em nada o funcionamento do script, apenas altera como a informação aparece no log.

[2] Comentário enviado por pickwick em 07/10/2014 - 10:24h

Olá colegas, notei que o script não exclui os arquivos que contem espaços. Acredito que falta algum parâmetro para corrigir isto. Por ex. se tiver a palavra
"lava jato", na lixeira ele vai tentar excluir a palavra "lava" e depois a palavra "jato" e não "lava jato".

Valew pessoal.

Se corrigir, poderia me encaminhar um e-mail para eu atualizar o meu. arthur.coimbra123@gmail.com obrigado!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts