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

Re: Rutina en logrotate para Apache2



El Mon, 17 Jan 2011 00:11:52 +0100, Javier Barroso escribió:

> 2011/1/16 Camaleón:

>> He hecho alguna modificación para que 1) el "find" no sea recursivo y
>> no afecte a otros subdirectorios con archivos .log y para que 2) el
>> archivador no mantenga la información de la ruta (./), a ver qué te
>> parece:
>>
>> ***
>> function comprimir_logs
>>  {
>>  tipo="$1"
>>  anyo_anterior=$(date +'%Y' -d '1 year ago')
>> - ficheros=($(find /var/log/apache2 -name
>> "$tipo.$anyo_anterior*.log*")) + ficheros=($(find /var/log/apache2
>> -maxdepth 1 -name "$tipo.$anyo_anterior*.log*" -exec basename {} \;))

> Mejor que usar -exec basename .. , yo usaría -printf "%P\n" (a efectos
> prácticos, evidentemente no notarás nada :) )

Cambiando esto no hay problema.
 
> Y si le quitas la ruta, en el tar te faltaría un -C /var/log/apache2
> antes del -zcf (lo del hacer cd dentro de un script no me gusta mucho,
> aunque a veces no queda más remedio)

Esto sí me da problemas. Tanto si uso:

tar -zcf -C /var/log/apache2/$tipo.$(date +'%F').tar.gz ${ficheros[*]}
         ^^

Como:

tar -zcfh /var/log/apache2/$tipo.$(date +'%F').tar.gz ${ficheros[*]}
        ^

Al ejecutar el script obtengo:

sm01@stt008:~/Desktop/test$ sh ./test2.sh
tar: access.2011-01-17.tar.gz: No se puede stat: No existe el fichero o 
el directorio
tar: Salida con error demorada desde errores anteriores

Se queja de que el archivador para el año en curso (que no debe ser 
comprimido) no existe (y no debe existir).

Saludos,

-- 
Camaleón


Reply to: