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

Re: Duda sobre el comportamiento de "cat"



El Sun, 12 Jul 2015 20:26:07 +0200, Manolo Díaz escribió:

> El domingo, 12 jul 2015, a las 18:48 UTC+2 horas,
> Camaleón escribió:

(...)

>>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 \;
>>***

(...)

>>¿Qué puede provocar este comportamiento anómalo del redirector ">>"? Se 
>>supone que el contenido del archivo se debe añadir al final del actual 
>>pero no parece que lo haga :-?
>>
> 
> Yo no culparía a cat. find no devuelve los ficheros en orden
> alfabético, si hay varios ficheros creados hace menos de un día puede
> ocurrir que termine volcando uno más reciente antes que otro más
> antiguo.

Sí, eso había pensado también pero en el directorio "/logs" no hay ningún 
archivo que pueda encontrar el find, es decir, ahora, a las 22:26 (y 
todos los días cuando se ejecuta la tarea) sólo está:

/logs/example.com_201507_access_log.txt

Bien, a las 00:00 se genera el archivo de registro diario y tenemos:

/logs/example.com.20150712
/logs/example.com_201507_access_log.txt

Y a las 08:00 se ejecuta la orden del "find" y de ahí mi extrañeza con el 
resultado del "cat" ya que sólo trabaja con el contenido de un único 
archivo que tiene que añadir al final del actual 
"example.com_201507_access_log.txt" y luego mover el archivo diario 
"example.com.20150712" al directorio "/logs/archive", lo cual hace sin 
problemas.

Saludos,

-- 
Camaleón


Reply to: