단일 또는 이중 대시로 시작하는 폴더가 포함된 드라이브를 재동기화하려고 합니다. 예를 들면 다음과 같습니다.
- -파일-
- - 아카이브 -
나는 다음을 시도했습니다 :
rsync -azP -e <source drive>/* <destination drive>
...단, 대시(-) 또는 이중 대시(--)로 시작하는 폴더는 동기화되지 않습니다.
대시(-) 또는 이중 대시(--)로 시작하는 폴더가 올바르게 동기화되도록 하려면 어떻게 해야 합니까?
답변1
대부분의 도구와 동일한 방식으로 이 작업을 수행합니다.
./
경로를 명시적으로 쓰거나 디렉터리의 절대 경로를 사용하여 대시로 시작하지 않도록 경로를 쓸 수 있습니다.rsync ...options... /full/path/src ./dst
--
경로 이름 피연산자 앞에서 옵션 구문 분석을 중지 할 수 있습니다 .rsync ...options... -- srcpath dstpath
귀하의 경우에는 다음을 사용합니다 --
./some/other/path/--Archives-
--Archives-
rsync -av -- --Archives- /some/other/path
--Archives-
다음 명령은 대상 디렉터리 의 내용만 복사합니다 .
rsync -av -- --Archives-/ /some/other/path
중요한 것은 소스 경로 끝에 있는 슬래시입니다. 대상 경로 끝에 있는 슬래시는 관련이 없습니다.
원하는 경우가 아니면 소스 경로에 명시적인 와일드카드를 사용할 필요가 거의 없습니다.피하다최상위 소스 경로에서 숨겨진 이름을 복사합니다.
소스나 대상에 대한 네트워크 연결을 생성하기 위해 특별한 방법으로 호출해야 하는 경우가 아니면 -e
예제 명령에서는 이 작업이 필요하지 않습니다 . ssh
질문의 샘플 코드에서 소스 경로에 접두사를 추가한 것으로 보입니다. -e
이는 버그일 수 있습니다.운전사, 네트워크를 통한 연결은 전혀 포함되지 않습니다).
또한 -z
(압축)을 사용하면 네트워크 연결이 매우 느린 경우(예: 압축 및 압축 해제 속도가 전송 속도보다 훨씬 빠른 경우)가 아닌 이상 속도가 빨라질 가능성이 없습니다. 따라서 -z
로컬 복제를 수행할 때는 필요하지 않습니다. 실제로 이로 인해 작업 속도가 느려질 수 있습니다.
답변2
상대 경로 이름(파일 이름)이 앞에 붙고 ./
더 이상 대시로 시작하지 않습니다.
rsync -av ./-items* destination:destPath/
또는 와일드카드를 제거 *
하고 상위 디렉터리를 이동합니다.
rsync -av ./ destination:destPath/dir