Pular para o conteúdo

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

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.
Tiago Jorge Tjdestroyer
Hits: 10.244 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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.
Download limpalixeira.sh Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Listas em shell

Script para informar o IP válido

Somar e exibir resultados gerados pelo monitoramento do DNS

Gravar dvd no Linux

Trocar senha no primeiro login em PDC SAMBA

#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

Entre na sua conta para comentar.