Olá, pessoal
Quando trabalhamos com os arquivos de log do PostgreSQL, por exemplo, dependendo de como está a configuração (arquivo postgresql.conf) pode ser que sejam gerados vários arquivos de log. Se temos um hd não tão grande isso pode ser um problema.
Descrevo aqui uma forma de remover os arquivos mais antigos e deixar apenas o último arquivo pois o PostgreSQL está escrevendo nele. Uma boa prática poderia ser antes de remover estes arquivos gerar uma cópia em um outro computador ou a gravação dos mesmos em um cd ou dvd.
O comando abaixo faz isso: Apaga os arquivos deixando apenas o arquivo mais recente.
ls -t | grep -v `ls -t | head -n 1` | xargs rm -v
Um exemplo na prática:
O diretório de logs possui os seguintes arquivos:
postgresql-2008-10-24_231829.log
postgresql-2008-10-25_151120.log
postgresql-2008-10-25_151359.log
Executando:
ls -t | grep -v `ls -t | head -n 1` | xargs rm -v
removido `postgresql-2008-10-25_151120.log’
removido `postgresql-2008-10-24_231829.log’
Restou apenas o arquivo postgresql-2008-10-25_151359.log que é o arquivo mais atual.
Fiquem a vontade para comentários.
[]s