두 개의 서로 다른 외장 하드 드라이브의 디렉터리를 동기화하는 방법은 무엇입니까?

두 개의 서로 다른 외장 하드 드라이브의 디렉터리를 동기화하는 방법은 무엇입니까?

외장 하드 드라이브 중 하나에 여러 개의 큰 폴더 "cosmo_sim_9", "cosmo_sim_10"이 있고 다른 외장 하드 드라이브에 이전 복사본이 있습니다.

이전 디렉터리를 새 디렉터리와 (반복적으로) 동기화하고 싶지만 (시간을 절약하기 위해) 기존 파일을 덮어쓰지는 않습니다.

어떻게 해야 하나요? 내 운영 체제는 Fedora 20입니다.

답변1

이는 를 사용하여 rsync달성할 수 있습니다 . 사용 중인 시스템 유형에 따라 다운로드해야 합니다.

  • sudo yum install rsync(RPM 기준)
  • sudo apt-get install rsync(데비안 기준)

그런 다음 이를 사용하려면 다음 명령을 사용해야 합니다.

rsync -a source destination

또는

rsync -r source destination

이는 -r재귀적으로 데이터를 복사하는 것을 나타냅니다(그러나 데이터를 전송할 때 타임스탬프와 권한은 유지되지 않습니다).

-a파일을 반복적으로 복사할 수 있고 기호 링크, 파일 권한, 사용자 및 그룹 소유권, 타임스탬프도 보존하는 아카이브 모드를 나타냅니다.

답변2

사용 rsync:

rsync -a --ignore-existing cosmo_sim_9 /dest/disk/cosmo_sim_9

--ignore-existing대상의 기존 파일을 건너뛰고 -a재귀적으로 만들고 가능하면 권한/소유권/그룹/타임스탬프/링크/특수 장치를 보존합니다.

forBash 루프를 사용하여 모든 디렉터리에 대해 이 작업을 수행 할 수 있습니다 .

for dir in cosmo_sim_* ; do
rsync -a --ignore-existing "$dir" "/dest/disk/$dir"
done

관련 정보