본문 바로가기

리눅스

SSH를 통해 파일을 압축하여 복사하는 방법

반응형

SSH를 통해 파일을 압축하여 복사하는 방법

SSH를 통해 파일을 압축하여 복사하기 위해 scptar 명령어를 사용할 수 있습니다. 아래는 해당 방법의 예시입니다.

1. 원격 서버의 파일 압축하여 로컬로 복사하기

  • 원격 서버에서 파일 압축하기
ssh user@remote_host "tar czf - /path/to/remote/file" > local_file.tar.gz
  • 로컬에서 압축 파일 열기
tar xzf local_file.tar.gz

위의 예시에서 user는 원격 서버에 접속하기 위한 사용자 이름이고, remote_host는 원격 서버의 호스트 이름 또는 IP 주소입니다. /path/to/remote/file은 원격 서버에서 압축할 파일의 경로입니다. local_file.tar.gz는 로컬에 저장될 압축 파일의 이름입니다.

2. 로컬 파일을 원격 서버로 압축하여 복사하기

  • 로컬에서 파일 압축하기
tar czf local_file.tar.gz /path/to/local/file
  • 압축 파일을 원격 서버로 복사하기
scp local_file.tar.gz user@remote_host:/path/to/remote/directory
  • 원격 서버에서 압축 파일 열기
ssh user@remote_host "tar xzf /path/to/remote/directory/local_file.tar.gz -C /path/to/remote/directory"

위의 예시에서 user는 원격 서버에 접속하기 위한 사용자 이름이고, remote_host는 원격 서버의 호스트 이름 또는 IP 주소입니다. /path/to/local/file은 로컬에서 압축할 파일의 경로이고, /path/to/remote/directory는 원격 서버에 압축 파일이 복사될 디렉토리의 경로입니다.

 

위의 예시는 scptar 명령어를 조합하여 SSH를 통해 파일을 압축하고 복사하는 방법을 보여줍니다. 필요에 따라 경로와 파일 이름을 수정하여 사용하십시오.

728x90

사용 예시

  • 출발지(Source) 서버
tar cfz - tmp | ssh [email protected] tar xfz - -C /home/sangchul/
$ pwd
/home/sangchul
$ ls -l
total 0
drwxr-xr-x 3 root root 83 Aug 21 15:20 tmp
$ tar cfz - tmp | ssh [email protected] tar xfz - -C /home/sangchul/
[email protected]'s password:
  • 목적지(destination) 서버
$ pwd
/home/sangchul
$ ls -l
total 0
drwxr-xr-x 3 sangchul sangchul 83 Aug 21 15:20 tmp
  • 비슷한 명령어
tar cfz - ./tmp | ssh [email protected] "(cd /home/sangchul/; tar xfz -)"
$ tar cfz - ./tmp | ssh [email protected] "(cd /home/sangchul/; tar xfz -)"
[email protected]'s password:

 

728x90
반응형