rsync 없이 원격 서버에서 복사

rsync 없이 원격 서버에서 복사

ssh액세스 권한이 있는 Ubuntu 원격 서버에서 폴더를 반복적으로 복사 해야 합니다 . 내 클라이언트 시스템(Ubuntu도 마찬가지)에 서버와 동일한 사용자가 없기 때문에 심볼릭 링크를 따르거나 권한/소유자/그룹을 복사하고 싶지 않습니다.

이것 rsync아마도 가장 좋은 해결책이 될 것입니다. 그러나 서버는 그렇지 않으며 rsync거기에 설치할 수 없으므로 명령에서 오류가 발생합니다.

원격 폴더를 복사하는 다른 방법이 있습니까?

답변1

scp -r서로 다른 호스트 간에 파일을 재귀적으로 복사 할 수 있습니다 . 구문은 다음과 같습니다.scp -r user@Ubuntu-Server:/home/myuser ./from_Ubuntu_server

또한 rsyncscp를 사용하여 로컬 바이너리를 Ubuntu 서버에 업로드하고 이를 --rsync-path=/home/myuser/rsync원래 rsync명령에 추가하여 클라이언트가 Ubuntu 서버에서 호출해야 하는 명령을 rsync알릴 수 있습니다.rsync

답변2

사용 허가를 받은 경우퓨즈로컬 컴퓨터에 설치sshfs. SSHFS를 사용하면 일반 파일 시스템 액세스를 통해 원격 파일에 액세스할 수 있습니다. SFTP를 통해 액세스할 수 있는 디렉터리 트리를 마운트합니다. 원격 측에서 SFTP 액세스만 필요합니다(Ubuntu의 OpenSSH에서는 이 기능이 기본적으로 활성화되어 있습니다). 원격 디렉터리가 마운트되면 선택한 도구를 사용하여 파일이 로컬인지 원격인지 상관하지 않고 파일을 조작할 수 있습니다.

mkdir ~/net/remote-server
sshfs remote-server:/ ~/net/remote-server
rsync -a --no-copy-links ~/net/remote-server/remote/path/ /local/path/
fusermount -u ~/net/remote-server

답변3

tar및 을 사용할 수 있습니다 ssh.

예를 들어,업로드SSH를 통해 로컬 디렉터리의 내용을 somewhere_local경로에 복사/somewhere

tar czf - -C ./somewhere_local . | ssh {yourserver} 'tar xzf - -C /somewhere'

또는,다운로드하러 가세요SSH를 통해 원격 디렉터리의 내용을 /somewhere경로로 보내기./somewhere_local

ssh {yourserver} "tar czf - -C /somewhere ." | tar xzf - -C somewhere_local

관련 정보