Logrotate é definitivamente o caminho a percorrer. Como os logs estão crescendo em tamanho, você pode usar o logrotate para compactar significativamente os logs. Assumindo que você esteja usando o apache, modifique o seguinte
vi /etc/logrotate.d/httpd
Você quer que ele seja parecido com isto:
"/var/log/httpd/site1/*.log" "/var/log/httpd/site2/*.log" {
weekly
rotate 7
compress
missingok
notifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
- Semanalmente : os arquivos de log são girados se o dia da semana atual for menor que o dia da última rotação ou se tiver passado mais de uma semana desde a última rotação.
- Rotate 7 : Os arquivos de log são girados 52 vezes antes de serem removidos ou enviados para o endereço especificado em uma diretiva de email. Se a contagem for 0, as versões antigas serão removidas, em vez de rotacionadas.
- Compactar : Versões antigas de arquivos de log são compactadas com gzip para economizar espaço em disco.
- Missingok : Se o arquivo de log estiver faltando, vá para o próximo sem emitir uma mensagem de erro.
- Notifempty : não gira o log se estiver vazio
- Sharedscripts : Normalmente, os scripts prerotate e postrotate são executados para cada log que é rotacionado, o que significa que um único script pode ser executado várias vezes para entradas de arquivos de log que correspondem a vários arquivos. Se sharedscript for especificado, os scripts serão executados apenas uma vez, independentemente de quantos logs correspondam ao padrão curinga. No entanto, se nenhum dos logs no padrão exigir a rotação, os scripts não serão executados.
- Postrotate / sbin / service httpd reload > / dev / null 2 > / dev / null || verdadeiro
- Endscript : As linhas entre postrotate e endscript (ambas devem aparecer nas linhas por si mesmas) são executadas depois que o arquivo de log é rotacionado. Essas diretivas só podem aparecer dentro de uma definição de arquivo de log.
EDIT: Como Lucas mencionou: Outra coisa que você pode querer verificar é por que seus logs estão sendo preenchidos . Isso pode indicar algum código ruim, ou talvez alguém tentando fazer algo malicioso, por meio de formulários, etc.
Se precisar de mais informações sobre as opções, use
man logrotate