pscp는 parallel-ssh의 약자로 여러 대의 서버에 동일한 파일을 복사할 수 있는 기능을 제공합니다.


참고로 다음 URL에서 소스코드나 PDF 문서를 다운로드 할 수 있습니다.  http://www.theether.org/pssh/



예를 들어서 다음과 같은 일을 할 때 편리합니다.


Server A  ---------------------- Server B-1 (192.168.0.11)

(192.168.0.10)                ┣ Server B-2 (192.168.0.12)
                                         ┣ Server B-3 (192.168.0.13)
                                         ┣ Server B-4 (192.168.0.14)
                                         ┣ Server B-5 (192.168.0.15)
                                         ┣ Server B-6 (192.168.0.16)
                                         ┣ Server B-7 (192.168.0.17)
                                         ┣ Server B-8 (192.168.0.18)
                                         ┣ Server B-9 (192.168.0.19)

Server A에서 Server B-x(1-9)에 동일한 파일 예를 들어 설정 파일을 복사하겠다 혹은 소스코드를 복사하겠다 이런것이 가능합니다.


1. pscp를 우분투(ubuntu)에 설치하기

  apt-get install -y pssh
  위와 같이 수행하시면 됩니다. 그럼 /usr/bin/  폴더 아래 실행파일들이 생성됩니다. 

2. pscp 실행파일 

  /usr/bin/parallel-scp 에 위치하고 있습니다. 

3. pscp help
  
  parallel-scp --help 하시면 됩니다. help만 딱 보시면 리눅스 많이 사용하시는 분들은 그냥 사용이 가능하신 정도로 쉽습니다. 

4. hosts 파일 생성 

  그러니깐 parallel-scp 는 여러 대의 서버에 파일을 한 번의 명령어로 복사할 수 있습니다. 
  위에 예로 Sever B-1 ~~~~ B-9로 파일들을 복사하고 싶을 때
  hosts 는 Server B-1 ~~~~ B-9가 됩니다. 
  vi로 아래와 같이 만들어주시면 됩니다.

  vi serverHost.txt   (이름은 별로 중요하지 않습니다. 어차피 parallel-scp 입력할 때 잘 입력해주면 되니깐요)
  내용은 ...
  192.168.0.11
  192.168.0.12
  192.168.0.13
  192.168.0.14
  192.168.0.15
  192.168.0.16
  192.168.0.17
  192.168.0.18
  192.168.0.19
   쭉 IP만 작성해주셔도 됩니다.

5. 명령 내리기 

  마지막입니다. parallel-scp로 test.txt라는 파일을 각 서버의 /var/www/html에 복사하려면 
  
  parallel-scp -h serverHost.txt -l root test.txt /var/www.html

  -h 옵션은 hosts 파일 이름입니다.
  -l (영어 소문자 엘 입니다) 옵션은 어떤 사용자로 명령어를 수행할 것인지 정해주는 것입니다. 저는 root로 했습니다. 
  그리고 원본  (한칸 띄고) 복사하려는 각 서버의 위치 를 입력하면 됩니다. 
  
  성공하면 아래와 같은 형태로 출력이됩니다.
  저는 4대의 서버에 실행시켜봤고, 아이피번호는 50~53이였습니다. 위에 예제와는 다릅니다. 혼돈 없으시길..

   


   폴더를 복사하시려면 -r 옵션만 주면 됩니다. 


  









+ Recent posts