이름에 콜론이 있는 여러 파일을 rsync합니다.

이름에 콜론이 있는 여러 파일을 rsync합니다.

rsync파일 이름의 콜론을 앞에 있는 것이 원격 시스템 이름이라는 표시로 해석합니다. 이름에 콜론이 있는 파일을 rsync하려고 하면 일반적으로 rsync가 혼동되어 다음과 같은 오류가 발생합니다.

The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1166) [Receiver=3.0.9]

또는

Unexpected remote arg: 02\:12\:43.481000"
rsync error: syntax or usage error (code 1) at main.c(1232) [sender=3.0.9]

(내 사용 사례는 이름에 날짜가 포함된 파일 묶음이라는 점에 유의하세요)

rsync를 사용하여 와일드카드를 사용하여 파일을 선택적으로 보내려면 어떻게 해야 합니까? 다음과 같은 것 :

rsync -avz my_special_files* othermachine:/other/path/

답변1

상위 디렉토리에서 수행하십시오.

rsync -avz parent_directory/my_special_files* othermachine:/other/path/

작동합니다 (적어도 rsync 3.09 프로토콜 버전 30을 사용하는 ubuntu 12.04에서는).

이유? rsync가 호스트를 인식하는 데 사용하는 논리와 관련이 있습니다. 단어 앞에 오는 슬래시는 호스트로 간주되지 않는 것 같습니다. 이상하게 find도 이름 앞에 "./"가 붙도록 을 사용했는데도 여전히 작동하지 않았습니다.

이런 종류의 문제에 대해 몇 가지 논의가 있습니다.예를 들면 이것, 그러나 와일드 카드 등을 사용하는 것에 대해서는 언급하지 않습니다. 그러나 그들은 결국 효과가 있었던 것을 시도하도록 영감을 주었습니다.

관련 정보