lftp를 통한 미러링을 위한 시간 오프셋 추가

lftp를 통한 미러링을 위한 시간 오프셋 추가

저는 변경된 파일을 FTP를 통해 개발 환경으로 전송하도록 되어 있는 GitLab의 CI 실행기를 작업 중입니다.

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. 이는 파일 변경 시간을 확인하여 작동할 가능성이 가장 높은 최신 파일만 미러링하도록 되어 있습니다.

이제 내 저장소는 정확한 시간을 사용하지만 내 서버는 한 시간 앞서(+1 대신 GMT+2) 있어 최신 파일을 확인할 때 거짓이 발생합니다.

을 제거할 수 있지만 -n그러면 변경된(따라서 최신) 파일뿐만 아니라 전체 저장소가 복제됩니다.

lftp에 대한 시간 오프셋을 정의 하여 파일 변경 날짜에 +1시간을 추가하거나 이와 유사한 방법이 있습니까 ? 나는 확인했다매뉴얼하지만 그런 것을 찾지 못했습니다.

답변1

링크한 매뉴얼을 보면 lftp원격 사이트의 시간대를 정의할 수 있는 옵션이 있습니다. 이를 설정하고 lftp올바르게 보상되는지 확인하는 것이 가치가 있을 수 있습니다.

ftp:시간대(문자열)

LIST 명령으로 반환된 목록의 시간에 대해 이 시간대를 가정합니다. 이 설정은 GMT 오프셋 [+|-]HH[:MM[:SS]] 또는 유효한 TZ 값(예: 유럽/모스크바 또는 MSK-3MSD,M3.5.0,M10.5.0/3)일 수 있습니다. 기본값은 GMT입니다. 환경 변수 TZ로 지정된 현지 시간대를 가정하려면 빈 값으로 설정하십시오.

또한 시간을 무시하는 스위치( --ignore-time파일 크기에만 의존하도록 할 수 있음)와 "중요한" 시간을 정의하는 일부 스위치( --newer-than--older-than)가 있으므로 다음과 같은 방식으로 설정할 수 있습니다. 모든 파일이 전송되는 것은 아닙니다.

관련 정보