반응형
SSH를 통해 파일을 압축하여 복사하는 방법
tar와 scp, ssh를 조합하면 원격 서버와 로컬 간에 파일을 압축하면서 전송할 수 있습니다. 이 방법은 전송 속도를 높이고 네트워크 자원을 절약하는 데 유용합니다.
1. 원격 서버의 파일 압축하여 로컬로 복사하기
원격 서버의 파일을 압축하면서 로컬로 복사하기
ssh user@remote_host "tar czf - /path/to/remote/file_or_dir" > local_file.tar.gz
- user@remote_host : 원격 서버 접속 정보
- /path/to/remote/file_or_dir : 원격 서버에서 압축할 파일 또는 디렉토리
- local_file.tar.gz : 로컬에 저장될 압축 파일 이름
압축 해제(로컬에서)
tar xzf local_file.tar.gz
2. 로컬 파일을 압축해서 원격 서버로 복사하기
1단계: 로컬에서 파일 압축
tar czf local_file.tar.gz /path/to/local/file_or_dir
2단계: 압축 파일을 SCP로 전송
scp local_file.tar.gz user@remote_host:/path/to/remote/directory
3단계: 원격 서버에서 압축 해제
ssh user@remote_host "tar xzf /path/to/remote/directory/local_file.tar.gz -C /path/to/remote/directory"
728x90
3. 실시간 압축 + 전송 + 해제(One-liner 방식)
tar czf - ./tmp | ssh sangchul@222.222.222.222 "tar xzf - -C /home/sangchul/"
또는 디렉토리를 변경한 상태에서 바로 압축 해제
tar czf - ./tmp | ssh sangchul@222.222.222.222 "(cd /home/sangchul/ && tar xzf -)"
사용 예시
출발지(Source) 서버
$ pwd
/home/sangchul
$ tar czf - tmp | ssh sangchul@222.222.222.222 "tar xzf - -C /home/sangchul/"
sangchul@222.222.222.222's password:
목적지(Destination) 서버
$ pwd
/home/sangchul
$ ls -l
drwxr-xr-x 3 sangchul sangchul 83 Aug 21 15:20 tmp
SCP로 압축 후 전송
1. 원격으로 보내기
tar czf archive.tar.gz /path/to/local/dir
scp archive.tar.gz user@remote_host:/path/to/remote/dir
2. 원격에서 가져오기
scp user@remote_host:/path/to/remote/dir/archive.tar.gz .
tar xzf archive.tar.gz
rsync를 이용한 압축 전송
rsync -avz /path/to/local/dir/ user@remote_host:/path/to/remote/dir/
728x90
반응형
'리눅스' 카테고리의 다른 글
[리눅스] 엘라스틱서치 스냅샷 및 복원(Elasticsearch Snapshot and Restore) (0) | 2021.08.24 |
---|---|
Docker 이미지를 파일로 저장하고 불러오는 방법 (0) | 2021.08.23 |
[리눅스] Tsunami UDP Protocol 전송 테스트 (0) | 2021.08.21 |
Tsunami UDP Protocol을 설치하는 방법 (0) | 2021.08.21 |
Ubuntu에서 Supervisor를 설치하는 방법 (0) | 2021.08.18 |