Agregue compensación de tiempo para duplicar a través de lftp

Agregue compensación de tiempo para duplicar a través de lftp

Estoy trabajando en un ejecutor de CI en GitLab que se supone que transfiere archivos modificados a través de FTP a un entorno de desarrollo.

lftpParecía ser una buena solución para hacerlo, ya que es fácil de usar y no demasiado complicado.

Estoy usando esto para transferir archivos:

lftp -c "set ftp:ssl-allow no; open -u $USERNAME_DEV,$PASSWORD_DEV $HOST_DEV; mirror -Rvpn -O $PATH_DEV --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"

La parte problemática es el -Rvpnconjunto de parámetros, específicamente el archivo -n. Se supone que esto refleja solo los archivos más nuevos, lo que probablemente funcionará verificando los tiempos de cambio de archivos.

Ahora mi repositorio usa la hora correcta, pero mi servidor tiene una hora de anticipación (GMT+2 en lugar de +1), lo que generará un resultado falso al buscar archivos más nuevos.

Podría eliminarlo, -npero luego se clonaría todo el repositorio, no solo los archivos modificados (y por lo tanto más nuevos).

¿Hay alguna forma de definir un desplazamiento de tiempo lftppara que agregue +1 hora a la fecha de cambio del archivo o algo similar? lo comprobéel manualpero no encontré nada de eso.

Respuesta1

Si miras el manual que has vinculado, lftptiene una opción que te permite definir la zona horaria para el sitio remoto. Puede que valga la pena intentar configurarlo y ver si lftpse compensa correctamente.

ftp:zona horaria (cadena)

Asuma esta zona horaria para el tiempo en los listados devueltos por el comando LIST. Esta configuración puede ser un desplazamiento GMT [+|-]HH[:MM[:SS]] o cualquier valor TZ válido (por ejemplo, Europa/Moscú o MSK-3MSD,M3.5.0,M10.5.0/3). El valor predeterminado es GMT. Configúrelo en un valor vacío para asumir la zona horaria local especificada por la variable de entorno TZ.

Además, tiene un interruptor para ignorar la hora ( --ignore-timelo que podría permitirle hacer que dependa sólo del tamaño del archivo y algunos interruptores ( --newer-thany --older-than) para definir un tiempo "que importa", de modo que pueda configurarlo de una manera que No todos los archivos se transfieren.

información relacionada