Zeitversatz für Spiegelung über LFTP hinzufügen

Zeitversatz für Spiegelung über LFTP hinzufügen

Ich arbeite an einem CI-Runner in GitLab, der geänderte Dateien per FTP in eine Entwicklungsumgebung übertragen soll.

lftpschien hierfür eine gute Lösung zu sein, da es einfach zu verwenden und nicht zu kompliziert ist.

Ich verwende dies zum Übertragen von Dateien:

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/"

Problematisch ist der -RvpnParametersatz, genauer gesagt der -n. Dieser soll eigentlich nur neuere Dateien spiegeln, was aber höchstwahrscheinlich durch die Überprüfung der Dateiänderungszeiten funktioniert.

Jetzt verwendet mein Repository die richtige Zeit, aber mein Server ist eine Stunde im Voraus (GMT+2 statt +1), was bei der Suche nach neueren Dateien zu einem Fehler führt.

Ich könnte sie entfernen, -naber dann würde das gesamte Repository geklont, nicht nur die geänderten (und daher neueren) Dateien.

Gibt es eine Möglichkeit, einen Zeitversatz für zu definieren lftp, sodass zum Dateiänderungsdatum eine Stunde oder etwas Ähnliches hinzugefügt wird? Ich habe nachgeprüftdas Handbuchaber nichts dergleichen gefunden.

Antwort1

Wenn Sie sich das Handbuch ansehen, auf das Sie verlinkt haben, lftpfinden Sie eine Option, mit der Sie die Zeitzone für die Remote-Site definieren können. Es könnte sich lohnen, zu versuchen, sie einzustellen und zu sehen, wann immer sie lftprichtig kompensiert wird.

ftp:Zeitzone (Zeichenfolge)

Diese Zeitzone wird für die Zeit in den vom LIST-Befehl zurückgegebenen Listen verwendet. Diese Einstellung kann der GMT-Offset [+|-]HH[:MM[:SS]] oder ein beliebiger gültiger TZ-Wert sein (z. B. Europe/Moskau oder MSK-3MSD,M3.5.0,M10.5.0/3). Der Standardwert ist GMT. Setzen Sie ihn auf einen leeren Wert, um die lokale Zeitzone anzunehmen, die durch die Umgebungsvariable TZ angegeben ist.

Darüber hinaus verfügt es über einen Schalter zum Ignorieren der Zeit ( --ignore-timewodurch Sie es möglicherweise nur auf die Dateigröße angewiesen machen können und einige Schalter ( --newer-thanund --older-than) zum Definieren einer Zeit, „die zählt“, sodass Sie es möglicherweise so einrichten können, dass nicht alle Dateien übertragen werden.

verwandte Informationen