2013-05-07 5 views
0

일부 원격 Solaris/Linux 서버에서 일부 명령을 실행하고 로컬 서버의 로그 파일에서 출력을 수집해야합니다.원격 서버에서 로그를 수집하는 가장 좋은 방법

현재 로컬 시스템에 상주하는 간단한 Expect 스크립트를 사용하여 대상 시스템에서 명령을 실행합니다. 그때 나는 그러나

/usr/local/bin/expect script.exp >> logfile.txt 

, 이것은 서버에 대한 연결이 많이 변동으로 매우 신뢰성이 증명하는 불완전한 로그를 선도하고, 다음과 같이 로그 파일에 기대 스크립트의 출력을 리디렉션 스크립트를 걸려 .

이 작업을 수행하는 더 나은 방법이 있습니까? 내가 fedorqui의 답변을 구현 한

+0

모든 명령을 수행하는 스크립트를 만드는 것이 더 좋습니다. 이 스크립트는 로컬 서버에'scp' 또는'sftp '할 수있는 임시 파일에 출력을 인쇄합니다. – fedorqui

+0

네,이 생각이 마음을 아프게했지만, 저는 80 대가 넘는 원격 서버를 보유하고 있으며 각 서버에 업로드하는 것은 매우 지루할 것입니다. 또한 명령을 자주 수정해야합니다. 따라서 나에게 적합하지 않을 수 있습니다./ –

+1

스크립트를 배포하여 스크립트를 배포하십시오. 이 스크립트와 그 출력을 저장하는 디렉토리를 정의하십시오. 기본 루프를 사용하면 몇 분 내에 스크립트를 업데이트 할 수 있습니다. 모든 서버에서 동일한 규칙을 따르면 관리가 쉽고 쉽습니다. – fedorqui

답변

0

,

  • 대상 서버에 필요한 명령을 실행하는 (쉘) 스크립트를 만들었습니다.
  • 이 스크립트를 모든 서버에 배포했습니다.
  • 내 로컬 (중앙) 서버에서 expect를 통해이 스크립트를 실행했습니다.
  • 마지막으로 완료된 후 각 서버에서 개별적으로 로그를 수집하고 처리합니다.

해결책은 지금까지 결함없이 잘 작동했습니다.

관련 문제