
Necesito transferir un par de archivos de registro cada hora a un almacenamiento de registros al que todos los usuarios puedan acceder, y uso rsync para hacerlo, pero el problema surge cuando el archivo de registro se gira y se comprime automáticamente, rsync detecta que hay un nuevo archivo y lo transfirió también, eso significa que en el servidor de destino tengo:
example.log.2014-01-17--00
y
example.log.2014-01-17--00.gz
que es el mismo archivo de registro pero comprimido con gzip -9.
esta es mi línea rsync, está incluida en un script:
rsync -rvzt --include "*/" --include "$pattern" --exclude "*" $directory [email protected]:/home/user/directory/$subdir/$basefilename
se ejecuta cada hora mediante un crontab y transfiere todos los archivos que coinciden con un $pattern y $directory incluidos en un archivo que contiene rutas y patrones que quiero transferir.
Entonces mi pregunta es si existe una opción de rsync que no he visto, o si existe alguna posibilidad de hacerlo y cómo.
Gracias de antemano.
Respuesta1
¿Ha considerado utilizar el reenvío rsyslog [1]?
Además, según [2], parece que agregar --exclude '*.gz'
debería solucionar el problema. Por qué --exclude '*'
? Mi lectura de eso sería que todos los archivos están excluidos de la sincronización.
[1]http://www.rsyslog.com/storing-and-forwarding-remote-messages/
[2]http://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/