Pushing 방식의 복사
(localhost --> remotehost로 파일 보내기. localhost에서 오퍼레이션)
- tar + ssh
## remotehost의 특정 지정된 디렉토리(REMOTEDIR)로 복사
tar zcvf - LOCALDIR1 LOCALDIR2 | ssh user1@remotehost 'cd REMOTEDIR; tar zxvf - '
## remotehost의 특정 지정된 디렉토리로 압축 해제되지 않은 상태로 복사
tar zcvf - LOCALDIR1 LOCALDIR2 | ssh user1@remotehost "cat > /REMOTEDIR/REMOTEFILE.tar.gz"
- scp
## LOCALDIR의 내용(디렉토리 자체는 제외)만 복사
scp -rp LOCALDIR user1@remotehost:/home/user1/REMOTEDIR
- rsync + ssh
## localhost에서 localhost의 LOCALDIR을 remotehost의 REMOTEDIR로 복사
rsync -avzH -e ssh --progress /LOCALDIR user1@remotehost:/REMOTEDIR
## localhost에서 localhost의 LOCALDIR 디렉토리의 내용만(디렉토리 자체는 제외) remotehost의 REMOTEDIR로 복사
rsync -avzH -e ssh --progress /LOCALDIR/ user1@remotehost:/REMOTEDIR
Pulling 방식의 복사
(remotehost --> localhost로 파일 가져오기. localhost에서 오퍼레이션)
- tar + ssh
## remotehost의 REMOTEDIR1 과 REMOTEDIR2 를 localhost의 localhost의 LOCALDIR로 복사
ssh remotehost "( cd REMOTE_ABS_DIR ; tar zcvf - REMOTEDIR1 REMOTEDIR2 ) " | tar zxvf -
- scp
## remotehost의 REMOTEDIR의 내용(디렉토리 자체는 제외)만 localhost의 LOCALDIR로 복사
scp -rp user1@remotehost:/home/user1/REMOTEDIR LOCALDIR
- rsync + ssh
## localhost에서 remotehost의 REMOTEDIR 디렉토리의 내용만(디렉토리 자체는 제외) localhost의 LOCALDIR로 복사
rsync -avzH -e ssh --progress user1@remotehost:/REMOTEDIR /LOCALDIR
Server & Client 방식의 복사
(localhost --> remotehost 로 파일 복사. localhost와 remotehost에서 오퍼레이션 필요)
- Netcat + tar
## 파일 수신 장비 (Netcat Server)
[root@remotehost]$ cd REMOTEDIR
[root@remotehost]$ nc -l 9999 | tar zxvf -
## 파일 전송 장비 (Netcat Client , -v : 상세한 처리 및 오류 내용 출력, -n : Domain lookup 안 하도록 설정)
[root@localhost]$ cd LOCALDIR
[root@localhost]$ tar cvzf - * | nc -n -v remotehost 9999 - 혹시, nc 사용에 문제가 있다면, 서버쪽에서 기동시에 -p 옵션 추가해 볼 것
- -> 52G Netcat + Tar : 40분 소요
- -> 14G Netcat + Tar : 12분 소요
댓글 없음:
댓글 쓰기