통합 TIP2013. 4. 29. 08:36

원격호스트에 할당된 용량이 거의 다 된 상태일때 원격호스트의 일부 데이터를 다른 제2원격컴퓨터에 옮기려고 하고 있습니다.
이 경우 퍼미션이라던가 기타의 이유때문에 tar 를 쓰고 싶은데요.
문제는 용량이 얼마 남지 않아서 tar 를 쓰게 되면 용량 초과가 됩니다.

이런경우 tar 로 묶으면서 곧바로(즉, 원격호스트의 하드용량은 그다지 잡아먹지 않고) 제2원격컴퓨터로 옮길 수 있을까요?

 

 

 

 

답)

tar cvzf - /home | ssh remote-host "cd /test ; cat > home.tar.gz

tar czv - /home 을 하면 우선 /home을 tar로 묶은 후 gzip으로 압축해서 표준출력(-)으로 보냅니다.
그 출력을 파이프로 받아서 ssh에 넘기게되는데, ssh로 원격호스트에 접속이 된 후에 " " 안에있는 명령이 차례대로 실행이 됩니다. 따라서 cd /test 를 한 후에 cat이 앞의 파이프에서 받은 내용을 표준입력으로 받아서.. home.tar.gz로 저장을 합니다.
"cat > home.tar.gz" 대신에 "tar zxf -"를 하시면 복사하듯이 바로 저장이 되고요..

관례적으로 리눅스에서 - 는 표준 입력/출력 을 나타냅니다.
많은 프로그램이 - 를 인식합니다. 예를 들어
ls -a | vim -
하면 vim 으로 ls -a 내용을 편집할 수 있습니다.
wget 'http://어쩌구/저쩌구' -O - | md5sum -
하면 원격 파일의 md5sum 을 구할 수 있습니다.

 

펌 : http://www.mapoo.kr/

 

 

 

[실제 적용한 커맨드]
tar cf - /test/* | rsh node2 "cd /test; tar xvf -" 

tar cf - /test/* | user계정@node2 "cd/test; tar xvf -"

 

'통합 TIP' 카테고리의 다른 글

raritan kvm switch 초기 패스워드  (0) 2013.05.20
넷백업 클라이언트 AIX 에서 압축해제시 tar 잘림 현상  (0) 2013.05.15
RPM 설치 &소스설치  (0) 2013.05.08
유용한 유닉스 팁  (0) 2013.04.29
NFS 설정  (0) 2013.04.29
Posted by 신재중