Blog categories

Comments

[PSSH] Linux Parallel-ssh 명령어

[PSSH] Linux Parallel-ssh 명령어

pssh 는 Parallel-ssh 로써, 동일한 명령을 여러대의 서버에 동시에 실행할 때 유용합니다.
먼저 –help 옵션을 통해 도움말을 확인 할 수 있습니다.

  • –help : 도움말을 보여줍니다.
  • -h : 호스트 목록이 작성되어 있는 파일을 지정합니다.
  • -l : 실행하는 유저 이름을 지정합니다 (옵션)
  • -P : 결과를 출력합니다 (옵션)
Image module
Image module

특이한 점은 pssh 2.2 버전 에서는 pssh로 명령을 주지만, 2.3 버전에서는 parallel-ssh 로 명령을 주어야 하는 것 같습니다. 자세한 사용법은 아래 우분투 메뉴얼을 참고하실 수 있습니다.

먼저 가장 중요한 것은 -h 옵션으로 명령이 전송될 호스트 목록을 파일 내에 작성하고 이를 지정해주어야 합니다. 아래와 같이 host 목록을 적을 host.list 파일을 생성하고 안에 host 를 작성하여 저장합니다.

Image module

이제 명령을 수행할 수 있는데, 서버에 정상적으로 명령이 가지 않을 경우 아래와 같이 전송이 실패하게 됩니다.

Image module

전송이 성공적으로 이루어진 경우 다음과 같습니다.

Image module

여기서 기본적인 명령 실행으로는 명령의 성공여부만 알 수 있고 결과물을 받아볼 수 없습니다. 결과물 출력이 필요하면 -P 옵션을 통해 출력하실 수 있습니다. 하지만 본 옵션의 경우 각 호스트의 메시지 수행 후 실행 순서 없이 도착에 따라 출력함으로써 순서가 뒤죽박죽되어 보일 수 있습니다. -i 옵션을 사용할 경우 각 호스트별 출력 결과를 보실 수 있습니다.

Image module

여기서 우리가 경험할 수 있는 종료 상태는 다음과 같습니다.

  • 0 : Success
  • 1 : Miscellaneous error
  • 2 : Syntax or usage error
  • 3 : At least one process was killed by a signal or timed out
  • 4 : All process completed, but at least one ssh process reported an error (exit status 255)
  • 5 : There were no ssh errors, but at least one remote command had a non-zero exit status

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

div#stuning-header .dfd-stuning-header-bg-container {background-image: url(https://tech.sangron.com/wp-content/uploads/sites/2/2018/04/ubuntu_wallpaper_background.jpg);background-color: #3f3f3f;background-size: cover;background-position: top center;background-attachment: initial;background-repeat: no-repeat;}#stuning-header div.page-title-inner {min-height: 350px;}