IT/Linux

리눅스 scp 명령어로 서버 간 파일 복사

psychoria 2020. 10. 27. 12:32
반응형

리눅스를 사용하다보면 서버 간 파일을 복사해야 하는 상황이 있습니다.

서버 간에 파일을 복사하기 위해 scp 명령어를 사용할 수 있습니다.

scp 명령어로 리눅스에서 파일을 전송하는 방법을 알아보겠습니다.

 

리눅스 서버가 각각 아래와 같이 있는 경우를 가정해서 진행합니다.

서버 A

192.168.1.100 (username: servera)

서버 B

192.168.1.150 (username: serverb)

 

1. 서버 A → 서버 B 파일 복사

서버 A에서 다음 명령어를 입력하면 서버 B로 전송을 합니다.

scp ./1.txt serverb@192.168.1.150:/tmp

서버 A의 현재 디렉토리에 위치한 1.txt 파일을 서버 B의 /tmp 경로에 복사하는 명령어입니다.

유저 이름은 파일을 전송할 목표 서버의 유저를 입력(serverb)하면 됩니다.

전송 결과

화면에서 전송 결과를 확인할 수 있습니다.

정상적으로 파일이 전송되면 서버 B에서 전송된 파일을 확인 가능합니다.

 

2. 서버 A ← 서버 B 파일 복사

반대로 서버 A에 접속한 상태에서 서버 B의 파일을 가져오고 싶은 경우도 있습니다.

이 경우 로컬 경로와 원격 경로를 반대로 입력해서 실행하면 됩니다.

scp serverb@192.168.1.150:/tmp/1.txt /tmp

서버 B의 /tmp/1.txt 파일이 현재 접속 중인 서버 A의 /tmp 경로에 받아집니다.

 

3. 서버 A → 서버 B 디렉토리 복사

아래와 같이 파일이 포함된 /tmp/test 디렉토리 전체를 복사하려면 -r을 추가하면 됩니다.

예제 디렉토리

scp -r /tmp/test/ serverb@192.168.1.150:/tmp/

다음과 같이 모든 파일이 전송되는 것을 확인할 수 있습니다.

전송 결과

반대로 서버 A 접속 중에 서버 B의 디렉토리 전체를 가져올 때도 -r과 함께 경로를 반대로 입력하면 됩니다.

이것으로 원격 서버에 파일을 전송하거나 받아오는 것이 가능해집니다.

반응형