Si tienen una aplicación en producción es sumamente importante no borrar los logs jamás. Por qué ? Porque SIEMPRE van a encontrar una situación donde van a necesitar saber en que momento pasó tal cosa. Hay una ley que siempre se cumple,

Los backups nunca se necesitan hasta el momento que perdiste todo, ahi si no lo tenés empezá a buscar otro laburo.

Un ejemplo claro es un reclamo de un cliente..

Cliente – Hola, me llego un cargo de un servicio que no pedí.
Yo – WTF!

Inmediatamente solicito al cliente datos para poder ubicar en mis logs la acción exacta que generó esa factura y resolver el problema.

En mi caso utilizo varios niveles de log partiendo del más detallista (SQL) hasta el más evidente (ERROR). Actualmente Memudoya.com está generando 100 MB de logs diarios, lo que nos dá casi unos 3GB de logs al mes. Según que tipo de hosting estemos contratando ésto puede ser un dolor de cabeza y nos tienta a borrar logs que consideramos viejos.

Tengo conocimiento de que Google por ejemplo, guarda logs de apache desde al menos el 2007. Es increíble, pero si. Imagínense la cantidad de información que están backupeando a diario.

Para archivar los logs hice un shell script muy sencillo que corre a diario con un CRON para almacenar los logs como ZIP. También me di cuenta que generalmente lo que más querés ver son los logs del día, asi que la idea es que este script archive los logs de ayer.

Algo de código:

#!/bin/sh

#declare yesterday
DATE=$(date --date='1 day ago' +%Y-%m-%d)

OLD=/var/log/myapp/old

mv /var/log/myapp/mydomain.$DATE* $OLD

zip -m9 /usr/share/mybackup/$DATE-myapp.zip $OLD/*

No es para nada complicado, pero es SUPER útil. Espero les sirva.