user@IP:/folder1/folder2/folder3/FD/
하위 폴더 fol1, fol2, ...가 포함된 원격 폴더(FD)의 이전 복사본이 있습니다 .
user@IP:/folder1/folder2/folder3/FD/
|__fol1
|__fol2
|__ ...
많은 파일이 포함되어 있습니다. 내 로컬 폴더의 이름과 하위 폴더가 동일합니다.
/localfd1/localfd2/FD/
|__fol1
|__fol2
|__ ...
원격 하위 폴더에서 로컬 하위 폴더의 최신 파일만 복사하는 방법은 무엇입니까? scp는 전체 폴더를 복사하지만 새 파일만 원합니다.
추가 분석: 제가 갖고 있는 원격 폴더의 이전 복사본의 구조는 다음과 같습니다.
/localfd1/localfd2/FD/
|__fol1
|_old file1
|_old file2
|_old file3
|__fol2
|_old file4
|_old file5
NEW_REMOTE 폴더는 이제 다음과 같습니다.
user@IP:/folder1/folder2/folder3/FD/
|__fol1
|_old file3
|_new file_a
|_new file_b
|__fol2
|_old file5
|_new file_c
(공간을 절약하기 위해 원격 폴더의 일부 파일을 삭제하고 새 파일을 추가했습니다.)
NEW_REMOTE 폴더(fol1 및 fol2)에서 로컬 폴더의 새 파일만 복사하고 싶습니다. 따라서 내 새 로컬 폴더의 형식은 다음과 같습니다.
/localfd1/localfd2/FD/
|__fol1
|_old file1
|_old file2
|_old file3
|_new file_a
|_new file_b
|__fol2
|_old file4
|_old file5
|_new file_c
답변1
당신은 그것을 사용할 수 있습니다
rsync -avh --사용자 @IP 업데이트:/folder1/folder2/folder3/FD/ /localfd1/localfd2/FD/에서
man rsync
:
이렇게 하면 rsync가 대상에 존재하고 소스 파일보다 수정 시간이 최신인 모든 파일을 건너뛰게 됩니다. (기존 대상 파일의 수정 시간이 원본 파일과 동일한 경우 크기가 다르면 파일이 업데이트됩니다.)