Ola pessoal,
Estou precisando de um script que faça a limpeza automática dos arquivos antigos enviados a lixeira do SAMBA.
Alguem tem alguma dica?
Obrigado
Versão Imprimível
Ola pessoal,
Estou precisando de um script que faça a limpeza automática dos arquivos antigos enviados a lixeira do SAMBA.
Alguem tem alguma dica?
Obrigado
eu fiz um script, mas to sem ele aqui, vou tentar publicar ele assim que eu tiver em mãosCitação:
Postado originalmente por eduroges
Na verdade eu precisava de um comando ou script para apagar arquivos antigos que foram enviados às lixeiras do SAMBA.
Essas lixeiras são diretórios e estão espalhadas em vários locais dentro de /home.
Eu "quase consegui com o seguinte comando:
Código :
find /home -name .recycle -type d -exec find {} -mtime +5 \; | xargs rm -f
O problema é que ele acha os arquivos, mas não exclui. Acredito que seja um problema com os "nomes longos do Windows".
Alguem tem alguma dica?
Caro eduroges
Abaixo estou enviando o conteúdo do script que utilizo para limpar a lixeira do samba. No meu caso eu deleto os arquivos que foram deletados há 3 dias atrás.
find <pasta_lixeira> -type f -ctime 3 2> /dev/null |
while read arquivo; do
/bin/rm -f "$arquivo";
done
Substitua o <pasta_lixeira> pela pasta que você utiliza para armazenar os arquivos deletados.
Espero ter ajudado.
Ae meos... Segue o meu script pra limpar as lixeiras... se não for informado a quantidade de dias ele assume 5 dias...
#!/bin/bash
# log
logfile=/var/log/removedor.log
# tempo em dias
[ "$1" ] && dias=$1 || dias=5
#echo \n >>$logfile
echo "===============`date +%d-%m-%Y`====================" >> $logfile
find / -name .recycle > /tmp/limpa-recycle.tmp
cat /tmp/limpa-recycle.tmp | while read dir ; do find $dir -type f -mtime $dias -exec ls -l {} \; >> $logfile ; done ;
cat /tmp/limpa-recycle.tmp | while read dir ; do find $dir -type f -mtime $dias -exec rm -f {} \; ; done ;
echo "======================FIM==========================" >> $logfile
Espero ter ajudado.
:-)