Добавить смещение времени для зеркалирования через lftp
Я работаю над CI Runner в GitLab, который должен передавать измененные файлы через FTP в среду разработки.
lftp
казалось хорошим решением для этого, так как он прост в использовании и не слишком сложен.
Я использую это для передачи файлов:
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/"
Проблемной частью является -Rvpn
набор параметров, а именно -n
, Предполагается, что это зеркало только новых файлов, которые, скорее всего, будут работать, проверяя время изменения файла.
Теперь мой репозиторий использует правильное время, но мой сервер на один час вперед (GMT+2 вместо +1), что приведет к ложному при проверке новых файлов.
Я мог бы удалить -n
но тогда будет клонирован весь репозиторий, а не только измененные (и, следовательно, более новые) файлы.
Есть ли способ определить смещение времени для lftp
так, это добавляет +1 час к дате изменения файла или что-то подобное? Я проверил руководство, но не нашел ничего подобного.
1 ответ
Если вы посмотрите на руководство, которое вы связали lftp
имеет параметр, который позволяет вам определить часовой пояс для удаленного сайта. Возможно, стоит попытаться установить его и посмотреть, когда lftp
правильно компенсирует.
ftp: часовой пояс (строка)
Предположим этот часовой пояс для времени в списках, возвращаемых командой LIST. Это может быть смещение по Гринвичу [+|-]HH[:MM[:SS]] или любое допустимое значение TZ (например, Европа / Москва или MSK-3MSD,M3.5.0,M10.5.0/3). По умолчанию используется GMT. Установите пустое значение, чтобы принять местный часовой пояс, заданный переменной окружения TZ.
Кроме того, он имеет переключатель, чтобы игнорировать время (--ignore-time
что может позволить вам сделать это полагаться только на размер файла и некоторые параметры (--newer-than
а также --older-than
) определить время, "которое имеет значение", чтобы вы могли установить его таким образом, чтобы не все файлы передавались.