[1] Comentário enviado por
bisonho em 13/04/2006 - 23:53h:
Ha um problema em utilizar a data de modificacao,
se um arquivo for antigo e for deletado, a data de modificacao se mantem
ou seja:
nao vai respeitar o prazo de 30 dias
utilizando a data de Change é respeitado o prazo
#+30 eh a quantidade de dias
find /share/.recycle -type f -ctime +30 -delete
[4] Comentário enviado por
tomassoni em 14/08/2009 - 09:13h:
Bom seguindo a lógica resolvi o meu problema assim, como tenho a pasta .lixeira e dentro dela subdiretorios para cada usuário. ficando assim:
|.lixeira
|____User01
|Dir1
|DirN
E a minha data usando stat ficava como descrito assima, deixei meu script assim:
#! /bin/bash
# Limpa shell
clear
# Url para diretorio da lixeira
ur_dir_lixo="/hd500g/.lixeira"
# Url para arquivo de log
url_dir_log="/var/log/lixeira.log";
# remove os arquivos há 10 dias, a partir da data atual
dias="10";
# Utilizado para gerar as datas dos dias antigos
data_antigo="$(date --date "$dias day ago" +%Y-%m-%d)"
# Inicia calculo tempo gasto para limpeza
DATA_LOG=`date +%a-%d-%m-%Y-%H:%M:%S`
START=$(date +%s)
# Remove arquivo de log antigo
if [ -e $url_dir_log ] ; then
rm -rf $url_dir_log
fi
echo -ne "---Inicio: $DATA_LOG\n" >> $url_dir_log
# Remove o arquivo antigo baseado na variavel dias em relacao ao dia atual
find "$ur_dir_lixo" -type f -exec stat -c "%n %z" {} \; | grep ".lixeira" | egrep -w "$data_antigo" | awk -F "$data_antigo" '{print $1}' | xargs -replace rm 2>$url_dir_log
# Finaliza calculo tempo gasto para backup
DATA_LOG=`date +%a-%d-%m-%Y-%H:%M:%S`
echo -ne "------Fim: $DATA_LOG" >> $LOG
END=$(date +%s)
DIFF=$(( $END - $START ))
if [ $DIFF != 0 ]; then
TMP=`echo "scale=2; $DIFF / 60" | bc`
fi
echo -ne "\nTempo gasto em segundos: $DIFF" >> $url_dir_log
echo -ne "\nTempo gasto em minutos: $TMP" >> $url_dir_log
exit 0;
O unico probleminha que encontrei, foi que, quando so temos apenas um arquivo dentro do diretorio ele exclui o arquivo mas mantem o diretorio.
Saulo, muito obrigado pela dica, ficou bem funcional para mim. Espero que não se importe pelos ajustes e adição do tempo gasto.
[5] Comentário enviado por
cherandinho em 03/09/2009 - 14:53h:
Olá a todos, sou novo no mundo linux, e estou muito empolgado com tudo .
Estou usando o cenOS aqui , e estava com a mesma duvida em relação a precisão da data.
Vejo que a mesma não influenciou no script.
Só gostaria de parabeniza-los pela iniciativa , Saulo e tamassoni .