하면 된다!!!

'sftp'에 해당되는 글 2건

  1. File Transfer - scp, rsync
  2. Eclipse 에서 FTP와 Shell 바로 사용 하는 방법

File Transfer - scp, rsync

프로그래밍/기타

 

서버 작업을 하다보면 서버와 서버 사이에 파일 전송 이슈가 있는 경우가 있다.

개인적으로 주로 SFTP나 FTP를 이용해서 파일을 전송했었는데... 요즘은 rsync 를 이용해서 파일 전송을 주로 하고 있습니다.

그중 많이 쓰이는 scp, rsync 에 대해서... 간단히 커맨드 정리 해둔다.

 

SCP (Secure Copy) 

ssh를 통해서 파일을 전송하는 도구로 서버에서 서버로 쌍방향 전송이 가능하다.

 

다른 장비로 파일 복사하기
scp -rp sourcedirectory user@dest:/path
-r means recursive
-p preserves modification times, access times, and modes from the original file.
scp *.pdf sean@123.12.1.123:/home/sean/download/
>> 모든 PDF 파일을 123.12.1.123 서버의 /home/sean/download 폴더로 복사
scp -rp ~/files sean@123.12.1.123:/home/sean/download/
>> files 폴더 이하에 있는 모든 파일을 123.12.1.123 서버의 /home/sean/download 폴더로 복사

 

다른 장비에서 파일 복사해오기
scp -rp user@dest:/path sourcedirectory
scp sean@123.12.1.123:/home/sean/download/*.pdf ./download
>> 123.12.1.123 서버의 /home/sean/download 폴더의 모든 PDF 파일을 ./download 폴더로 복사
scp -rp sean@123.12.1.123:/home/sean/download/ ~/files 
>> 123.12.1.123 서버의 /home/sean/download 폴더 하위의 모든 파일을 ~/files 폴더로 복사

참고로 파일명에 공백 등이 들어간 경우 " " 로 둘러싸주면 된다. ex) "abc file.txt" 

 

 

rsync

서버간에 파일을 동기화하는 도구이다. 이 또한 쌍방향 전송이 가능하다.

필자는 AWS에서 서버 관리를 주로 하고 있는데 인증 파일(.pem)을 이용해서 서버에 파일을 싱크할때 자주 사용하고 있다.

파일 싱크하기 (일반)
rsync -a -e ssh user@source-server:/source/ /dest/
rsync -a -e ssh /source/ user@source-server:/dest/

-a : archive mode (include a lot of default common options, including preserving symlinks)
-z : compress
-v : verbose : show files
-P : show progess as files done/remaining files
-e ssh : do rsync in ssh protocol
--delete : delete files in the destination that are not anymore in the source
rsync -avz -e ssh pi@123.12.1.123:download/ files/
>> 123.12.1.123 서버의 download 폴더의 파일을 ./files 폴더로 복사
rsync -avz -e ssh files/ pi@123.12.1.123:download/
>> ~/files 의 파일들을 123.12.1.123 서버의 /home/sean/download 폴더로 복사
인증서 파일 (.pem) 파일을 이용해서 싱크하기
sudo rsync -avzP -e "ssh -i /root/.ssh/my_certificate.pem" /source/ user@source-server:/dest/
sudo rsync -avzP -e "ssh -i /root/.ssh/my_certificate.pem" user@source-server:/source/ /dest/

 

Eclipse 에서 FTP와 Shell 바로 사용 하는 방법

프로그래밍/기타

오늘 아침에 울 직원이 이클립스로 FTP를 바로 사용하는 방법이 있느냐는 말에 살짝 검색을 해봤다.

http://kyrandia.springnote.com/pages/610786

여기에 나온 내용대로~ 쭈욱 설치를 해봤다.

Add Site를 누르고 http://download.eclipse.org/releases/europa 를 입력한다.
그럼 아래와 같은 화면이 뜨고 두개의 패키지를 선택한다.
C and C++ Developement 와 Remote Access and Device Development 를 선택한다.
그리고 Install... 버튼을 가볍게 눌러준다.

사용자 삽입 이미지

쫘악 설치 과정은 대강 머... 알아서 하셔도 될듯하여 설명 생략~

설치가 긑나고 나서 이클립스를 재시작 하게 됩니다.
재시작 된 이클립스 메뉴에서 Window -> Open Perspetive -> Other -> Remote System Explorer 를 선택합니다.
사용자 삽입 이미지

왼편에 Local 하드 디스크를 바로 접근하여 파일을 볼 수도 있고 Remote System을 접근하여 볼 수도 있다.

사용자 삽입 이미지

리모트 사이트를 등록하기 위해서는 왼편 창에서 마우스 우클릭을 하게 되면
New->Connection 이라는 메뉴를 클릭한다.
아래 화면에서 원하는 형태의 Connection 을 선택하여 접속 정보를 입력하면~

사용자 삽입 이미지

요로~~케 윈도우 탐색기 모냥으로 쫘악 나오게 됩니다.
파일 카피 페이스트 삭제 등을 단축키로 바로 바로 실행하면 아주 잘 됩니다.
물론 파일 바로 열어서 수정도 되구요. 목적이 그거였으니깐~~

사용자 삽입 이미지

그리고 그 맨 아래에  Ssh Shells 라는 데를 우클릭해서 Launch Shell 을 선택하면 우측 하단에 View가 나타나는데 바로 SSH, Telnet 접속 화면이 나타난다.
화면의 내용을 블럭단위로 복사 등의 작업이 잘 안되어 불편하기는 하지만 쉽게 서버에 접속하여 커맨드를 날려볼 수가 있습니다.

사용자 삽입 이미지

그 외에도 더 다양한 기능이 있는데 제가 필요한 것만 골라서 딱 요기까지...만 설명하고 끝냅니다.