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
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ãosPostado 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.
:-)