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

Re: Duda sobre el comportamiento de "cat"



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

>Hola,
>
>Estoy afinando un script para ejecutar a través de cron para que lleve a 
>cabo dos acciones muy sencillas:
>
>1/ Que busque un determinado archivo de texto (archivo de registro diario 
>de apache) y vuelque su contenido en un nuevo archivo que contenga el 
>acumulado mensual.
>
>2/ Que mueva el archivo de registro diario a un directorio.
>
>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 \;
>***
>
>La instrucción se ejecuta sin problemas salvo por el "cat", que me genera 
>un archivo de registro con los días "alterados", es decir, en lugar de ir 
>añadiendo el contenido del archivo al final del mensual:
>
>/logs/example.com_201507_access_log.txt
>
>[2015-07-01] ...
>[2015-07-01] ...
>[2015-07-02] ...
>[2015-07-02] ...
>[2015-07-03] ...
>[2015-07-03] ...
>
>Lo hace "a lo loco":
>
>[2015-07-02] ...
>[2015-07-02] ...
>[2015-07-01] ...
>[2015-07-01] ...
>[2015-07-03] ...
>[2015-07-03] ...
>
>¿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 :-?
>
>Saludos,
>

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.

Saludos.
-- 
Manolo Díaz


Reply to: