rsync를 사용하여 NAS에서 외장 하드 드라이브로 새 파일 복사

rsync를 사용하여 NAS에서 외장 하드 드라이브로 새 파일 복사

NAS에서 외장 하드 드라이브로 새 파일을 복사하고 싶습니다. 지금까지는 새 파일을 수동으로 복사했습니다. 이제 스크립트를 사용하여 이를 자동화하고 싶습니다. 그러나 지금까지 rsync를 사용하여 시도한 모든 것은 새 파일뿐만 아니라 모든 파일을 복사하는 것 같습니다. 다음 명령을 사용해 보았습니다.

rsync -ar \
      --ignore-existing \
      --size-only \
      --progress --info=progress2 \
      --dry-run \
      "/Volumes/NAS" "/Volumes/G-DRIVE mobile SSD R-Series"

또한 크기뿐만 아니라 체크섬 등도 사용해 보았습니다. 누군가 나에게 이러한 행동이나 내 작업을 수행하기 위해 무엇을 해야 하는지 설명해 줄 수 있습니까? 통계를 인쇄할 때 항상 모든 파일을 전송할 것이라고 표시됩니다. 또한 -i 매개변수를 사용하면 각 파일에 대해 다음 정보를 얻을 수 있습니다. >f++++++++++

답변1

올바른 명령은 아마도 다음과 같을 것입니다:

rsync --archive --progress --info=progress2 \
    '/Volumes/NAS/' '/Volumes/G-DRIVE mobile SSD R-Series'

-a( --archive) 플래그는 ( -t) --times-r( --recursive)를 의미하므로 명시적으로 지정할 필요가 없습니다. ()를 사용하는 것은 크기와 타임스탬프를 얻을 수 있는 경우 --size-only좋지 않은 선택이지만 제한된 파일 시스템(예: FAT)에 복사하는 경우 2초 시간 단위를 극복하기 위한 시간 창이 필요할 수 있습니다. 대상에서 어떤 종류의 복사본을 얻은 후 소스 파일에 대한 변경 사항을 무시하려는 경우가 아니면 사용하면 안 됩니다.-a--archive--modify-window=2--ignore-existing

테스트할 때는 반드시 --dry-run( -n)를 사용하고, rsync작업을 적용할 준비가 되면 제거하는 것을 잊지 마세요.

마지막으로 소스 디렉터리에는 일반적으로 뒤에 슬래시가 있어야 합니다. 문서에는 다음과 같이 설명되어 있습니다.

소스의 후행 슬래시는 대상에 추가 디렉터리 수준이 생성되지 않도록 이 동작을 변경합니다. /소스 후행은 "이 디렉터리의 내용을 복사하세요."상대적으로"이름으로 디렉토리 복사".

관련 정보