내 문제는 매우 이상합니다. 나는 호스트 이름과 이 모든 좋은 것들을 사용하여 대학 서버에 로그인합니다. 로컬 컴퓨터에서 학교 계정으로 파일을 복사할 수 있었습니다. 내 문제는 그 반대입니다. 학교 서버에서 로컬 컴퓨터로 파일을 전송할 수 없습니다. 내 구문이 정확하다고 확신합니다.
rsync -v username@hostname:~/hw0/hello.cpp .
문제는 그것이 내 학교 컴퓨터의 홈 디렉토리에 복사된다는 것입니다. 이 문제를 해결하는 방법을 아는 사람이 있나요?
또는 다음을 사용하면 더 나쁩니다.
rsync -v username@hostname:~/hw0/hello.cpp /Users/anthony
오류 메시지가 나타납니다.
rsync: change_dir#3 "Users" failed: No such file or directory(2)
rsync error: errors selecting input/output files, dirs (code 3) at main.c(694) [Receiver=3.1.1]
전반적으로 문제는 학교 서버의 명령이 로컬 컴퓨터가 아닌 서버 내에서 전송되려고 한다는 점이라고 확신합니다.
답변1
원격 시스템에서 이러한 명령을 실행하면 해당 rsync
시스템이 자체적으로 SSH를 통해 파일을 복사하도록 지시하는 것입니다.
Mac에서 실행하는 경우 Mac에서 원격 컴퓨터에 연결하여 파일을 자체적으로 복사하도록 지시하는 것입니다. 그게 당신이 원하는 일인 것 같아요.
이에 대한 두 가지 기본 솔루션이 있습니다.
Mac에서 명령을 실행하면 됩니다. 작성된 방식은 해당 맥락에서 잘 작동합니다.
Uni 컴퓨터에서 Mac으로 다시 SSH를 통해 연결할 수 있는 경우 로컬 파일(즉, 원격 컴퓨터의 로컬 파일)을 Mac에 복사하도록 명령을 다시 작성할 수 있습니다. 원격 컴퓨터의 관점에서 보면 Mac은 원격 컴퓨터입니다. 예를 들어:
rsync ~/hw0/hello.cpp anthony@mac-host-or-ip:/Users/anthony/
Mac이 방화벽이나 NAT 게이트웨이 등으로 보호되어 있는 경우 Mac에 다시 연결하기 어려울 수 있습니다. 하지만 이를 해결하는 것은 완전히 다른 문제이며 별도의 질문이 필요합니다.