LFTP 미러는 존재하지 않는 파일만 원격 디렉터리에 업로드합니다.

LFTP 미러는 존재하지 않는 파일만 원격 디렉터리에 업로드합니다.

5분마다 일부 새 파일이 lftp를 통해 로컬 디렉터리에 다운로드됩니다. 존재하지 않는 파일만 다른 FTP에 업로드해야 합니다. 지금까지 내 스크립트는 다음과 같습니다

#! /bin/bash
today=$(date +%Y%m%d)
today_files="rec."$today"_"
programa_dir="/home/user/local-dir"

# Download files, that do not exist in the local directory
lftp <<EOF
open -u user,pass ftp1
mget "$today_files*" -O $programa_dir
bye
EOF

# Upload the files

lftp <<EOF
open -u user,pass ftp2
lcd $programa_dir
mirror -R
bye
EOF

Mirror -R 명령은 두 번째 FTP의 원격 디렉토리에 몇 개의 파일만 존재한다는 것을 인식하지 못합니다.

이 문제를 해결할 방법이 있나요? 파일이 생성되거나 수정된 ​​시간이 아닌 파일 이름만 확인하면 됩니다.

두 번째 FTP를 위해 시도했습니다.

lftp <<EOF
open -u user,pass ftp2
mput $programa_dir/* -O /
bye
EOF

결과는 동일합니다. lftp는 존재하지 않는 파일뿐만 아니라 모든 파일을 업로드합니다.

답변1

--only-missing현재 LFTP에 액세스할 수 없지만 에서만 사용할 수 있는 매개변수를 찾고 있는 것 같습니다 mirror.

이 시도:

lftp <<<EOF
open -u user,pass ftp2
mirror --reverse --only-newer $programa_dir/* /
bye
EOF

답변2

set이 lftp 명령 스크립트에 추가되면 xfer:clobber off;기존 파일 덮어쓰기가 방지됩니다.

관련 정보