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과 함께 경로를 반대로 입력하면 됩니다.
이것으로 원격 서버에 파일을 전송하거나 받아오는 것이 가능해집니다.
반응형