파일이 대상에 존재하고 대상보다 최신인 경우에만 디렉터리를 반복적으로 복사합니다.

파일이 대상에 존재하고 대상보다 최신인 경우에만 디렉터리를 반복적으로 복사합니다.

파일이 대상에 존재하고 파일이 대상보다 최신이고 디렉터리의 경우 파일이 있어야 하는 경우에만 파일 및/또는 디렉터리를 어떻게 복사할 수 있습니까?재귀적으로
다음 기능을 사용한 복제

 $ ls -a ~/.config
 gtk-2.0/             
 gtk-3.0/
 SpeedCrunch/

 $ ls -a /other/path/home/.config/
 gtk-2.0/             
 gtk-3.0/
 SpeedCrunch/


$ rsync -u --existing ~/.config /other/path/home/
skipping directory .

일할 수 없습니다.

Linux 유틸리티는 무엇이고 어떻게 실행/해결하나요? 전에 고마워요

답변1

빠른:

재귀 스위치 "-r"을 포함하는 것을 잊었습니다.

rsync -u --existing -r ~/.config /other/path/home/

추가 사항:

또는 재귀를 포함하는 것과 동일하며 다음과 같은 몇 가지 중요한 속성을 유지하는 -a스위치 사용을 고려할 수 있습니다 .-rlptgoD

  • -r: 디렉토리로 재귀
  • -l: 심볼릭 링크를 심볼릭 링크로 복사합니다.
  • -p: 권한 유지
  • -t: 수정 시간 유지
  • -g: 예약된 그룹
  • -o: 소유자 유지(수퍼유저만 해당)
  • -D: --devices --specials와 동일한 특수 파일을 유지합니다.

다음을 사용하여 테스트합니다.

mkdir src
touch src/file{1..3}
touch src/thefile
# Destination:
mkdir dst
touch dst/file{1..3}
touch -d 20201023 dst/thefile
# List all
free -D src dst

지금 시도해 보세요:

rsync -rt -uPv --existing src dst/

나는 다음을 사용했다:

  • -r: 디렉토리로 재귀
  • -t: 수정 시간 유지
  • -u: 수신기에서 최신 파일 건너뛰기
  • -P: 전송 프로세스 중 진행 상황을 표시합니다.
  • -v: 자세한 내용을 늘립니다.
  • --existing: 싱크에 새 파일 생성을 건너뜁니다.

관련 정보