[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Duda sobre el comportamiento de "cat"



El Sun, 12 Jul 2015 18:56:39 +0200, Javier Barroso escribió:

Hola Javier, gracias por contestar.

> 2015-07-12 18:48 GMT+02:00 Camaleón <noelamac@gmail.com>:

(...)

>> Se trata de esta línea (no es copia/pega, puede haber algún gazapín):
>>
>> ***
>> find logs -maxdepth 1 -type f -name "example.com.*" -ctime -1 exec cat >> "logs/example.com_$(date '+%Y%m')_access_log.txt" {} \; exec mv {} logs/archive \;
>> ***
> 
> Seguramente el >> no te lo esté aplicando como tú quieres al cat. Yo
> iría directamente a lo más seguro:
> 
> Crea un fichero de script que reciba el nombre del fichero como
> parámetro y haga con el fichero lo que quieras, y ejecuta el script
> con -exec script {} \;

Bien, lo voy a probar con los archivos que están ya acumulados dentro
del directorio "/logs/archive" a ver si saco algo en claro y mientras
monitorizo la tarea de "cron" a ver qué hace mañana. 

> De todas formas no entiendo muy bien que quieres conseguir y que no se
> pueda hacer con el logrotate o las directivas de apache de logs.

En este caso se trata de un servidor que no gestiono yo por lo que tengo 
poco margen de movimiento. Apache genera un archivo de registro diario 
(esto no lo puedo cambiar) que se crea a las 00:00 horas con el formato
"example.com.aaaammdd". El script que he creado se ejecuta a las 08:00
horas por lo que realmente sólo hay un archivo con el que trabajar que es
el que quiero que vaya generando el "example.com_aaaamm_access_log.txt" 
mensual volcando el contenido del archivo diario y moviendo éste (el 
archivo diario) al directorio "/logs/archive", más que nada para que no 
se vaya llenando el directorio "/logs" de archivos pequeñitos (vamos, 
se trata de un script de "limpieza").

Lo raro es eso, que lo hace todo bien menos el "cat >> ", no sé cómo ha 
podido añadir los datos del día 3 antes de los día 2.

Saludos,

-- 
Camaleón


Reply to: